package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-10.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum10 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {-1,-1,-90,13,50,27,10,40,72,52,100,63,117,73,23,82,86,89,-5,94,19,99,126,101,102,102,-52,101,-84,99,82,96,-53,91,82,86,17,80,68,73,19,66,-60,58,119,51,103,44,-82,37,-115,31,-4,25,54,21,37,17,-19,13,111,11,-68,9,-96,8,52,8,21,8,122,8,-41,8,74,9,-61,9,-45,9,-84,9,-45,8,-110,7,115,5,-58,2,49,-1,2,-5,-1,-11,77,-16,65,-22,-107,-29,-54,-36,-79,-43,-68,-50,-37,-57,106,-63,108,-69,41,-74,-79,-79,43,-82,-73,-85,93,-86,51,-86,62,-85,112,-83,-47,-80,59,-75,-83,-70,-25,-64,-10,-57,113,-49,124,-41,-72,-33,-25,-25,21,-16,-38,-9,82,-1,25,6,88,12,-77,17,97,22,21,26,19,29,30,31,-122,32,64,33,55,33,-42,32,-6,31,0,31,-44,29,-46,28,-35,27,88,27,25,27,116,27,82,28,-66,29,-53,31,104,34,-109,37,55,41,55,45,-118,49,-25,53,95,58,-122,62,125,66,-48,69,-127,72,124,74,104,75,109,75,39,74,-44,71,30,68,80,63,40,57,-3,49,-99,41,62,32,79,22,123,11,116,0,-21,-12,-114,-23,34,-34,70,-45,-57,-56,49,-65,100,-74,-64,-82,54,-88,-15,-94,31,-97,-98,-100,-116,-101,-50,-101,104,-99,53,-96,42,-92,19,-87,-35,-82,88,-75,98,-68,-69,-61,85,-53,-26,-46,113,-38,-96,-31,-110,-24,-25,-18,-41,-12,9,-6,-68,-2,-41,2,34,6,9,9,54,11,32,13,122,14,-68,15,-100,16,-103,17,98,18,120,19,-118,20,3,22,-56,23,-75,25,36,28,-64,30,-43,33,11,37,-105,40,51,44,-19,47,-109,51,31,55,104,58,89,61,-50,63,-59,65,8,67,-82,67,119,67,-112,66,-71,64,49,62,-72,58,-92,54,-77,49,42,44,48,38,-86,31,-12,24,-29,17,-24,10,-52,3,3,-3,90,-10,51,-16,95,-22,19,-27,-124,-32,123,-36,54,-39,123,-42,-115,-44,15,-45,81,-46,-22,-47,24,-46,-124,-46,76,-45,49,-44,47,-43,63,-42,56,-41,18,-40,-67,-40,46,-39,96,-39,74,-39,-7,-40,99,-40,-86,-41,-54,-42,-54,-43,-45,-44,-28,-45,49,-45,-90,-46,-107,-46,-55,-46,-84,-45,-7,-44,13,-41,-82,-39,34,-35,82,-31,14,-26,-103,-21,-94,-15,93,-8,112,-1,9,7,-62,14,-52,22,-73,30,-80,38,100,46,-86,53,-123,60,-70,66,74,72,-1,76,-23,80,-46,83,-46,85,-51,86,-57,86,-48,85,-43,83,-3,80,81,77,-38,72,-59,67,9,62,-18,55,89,49,-94,42,-95,35,-71,28,-75,21,-41,14,80,8,-20,1,4,-4,87,-10,54,-15,97,-20,27,-24,34,-28,-72,-32,-112,-35,-21,-38,123,-40,89,-42,-96,-44,3,-45,-72,-47,-128,-48,-125,-49,-105,-50,-42,-51,32,-51,-102,-52,25,-52,-57,-53,-106,-53,-115,-53,-76,-53,18,-52,-89,-52,-118,-51,-89,-50,41,-48,-27,-47,22,-44,-99,-42,102,-39,-94,-36,20,-32,-8,-29,-4,-25,110,-20,-34,-16,-78,-11,106,-6,102,-1,54,4,31,9,-8,13,119,18,-15,22,6,27,-15,30,116,34,-76,37,-128,40,9,43,16,45,-41,46,51,48,38,49,-49,49,24,50,33,50,-36,49,94,49,-86,48,-62,47,-71,46,-124,45,59,44,-51,42,70,41,-66,39,14,38,99,36,-120,34,-69,32,-81,30,-80,28,106,26,43,24,-102,21,-23,18,37,16,28,13,-9,9,-115,6,10,3,60,-1,104,-5,65,-9,40,-13,-55,-18,126,-22,12,-26,-105,-31,84,-35,8,-39,-4,-44,12,-47,104,-51,1,-54,-7,-58,73,-60,4,-62,56,-64,-34,-66,13,-66,-64,-67,-6,-67,-54,-66,23,-64,6,-62,100,-60,103,-57,-57,-54,-61,-50,12,-45,-32,-41,12,-35,109,-30,42,-24,8,-18,32,-12,65,-6,-127,0,-93,6,-42,12,-65,18,-90,24,74,30,-123,35,-118,40,21,45,75,49,-3,52,67,56,-3,58,59,61,-21,62,20,64,-80,64,-57,64,91,64,99,63,-9,61,21,60,-63,57,24,55,3,52,-77,48,19,45,69,41,70,37,22,33,-10,28,-83,24,-124,20,71,16,59,12,45,8,92,4,-108,0,21,-3,-98,-7,85,-10,96,-13,113,-16,-41,-19,61,-21,-17,-24,-92,-26,-103,-28,-117,-30,-71,-32,-36,-34,53,-35,-120,-37,-16,-39,-125,-40,26,-41,-43,-43,-91,-44,-102,-45,-79,-46,-17,-47,102,-47,7,-47,-13,-48,33,-47,-119,-47,84,-46,87,-45,-50,-44,122,-42,-93,-40,-4,-38,-46,-35,-45,-32,69,-28,-41,-25,-51,-21,-15,-17,34,-12,-115,-8,-18,-4,113,1,-47,5,58,10,107,14,-114,18,99,22,24,26,-115,29,-102,32,118,35,-23,37,36,40,-9,41,-108,43,-52,44,-44,45,-120,46,10,47,78,47,99,47,72,47,10,47,-92,46,32,46,126,45,-64,44,-32,43,-18,42,-59,41,-110,40}; }
	private static byte[] data1(){ return new byte[] {23,39,106,37,-86,35,-125,33,71,31,-111,28,-65,25,104,22,-19,18,-21,14,-62,10,29,6,80,1,31,-4,-88,-10,53,-15,113,-21,-55,-27,4,-32,108,-38,-15,-44,-60,-49,-34,-54,119,-58,122,-62,20,-65,94,-68,71,-70,-4,-72,105,-72,-95,-72,-91,-71,107,-69,-10,-67,52,-63,34,-59,-97,-55,-79,-50,58,-44,3,-38,41,-32,92,-26,-70,-20,-16,-14,39,-7,1,-1,-73,4,-26,9,-47,14,68,19,17,23,-126,26,67,29,-87,31,104,33,-40,34,-71,35,89,36,-112,36,-105,36,96,36,15,36,-67,35,63,35,-20,34,-115,34,100,34,66,34,94,34,-126,34,-34,34,69,35,-59,35,69,36,-49,36,55,37,-110,37,-89,37,-101,37,36,37,116,36,65,35,-64,33,-80,31,36,29,70,26,-52,22,16,19,-63,14,70,10,84,5,84,0,3,-5,-51,-11,107,-16,85,-21,57,-26,119,-31,24,-35,15,-39,-106,-43,-126,-46,27,-48,42,-50,-29,-52,34,-52,-7,-53,85,-52,48,-51,127,-50,51,-48,52,-46,-126,-44,-14,-42,-111,-39,44,-36,-41,-34,101,-31,-30,-29,50,-26,99,-24,113,-22,51,-20,-25,-19,85,-17,-57,-16,-1,-15,91,-13,-113,-12,2,-10,107,-9,47,-7,38,-5,76,-3,-41,-1,-93,2,-29,5,95,9,83,13,114,17,-6,21,-103,26,124,31,85,36,69,41,11,46,-100,50,-34,54,-75,58,16,62,-48,64,-32,66,61,68,-67,68,119,68,68,67,47,65,85,62,-112,58,31,54,-39,48,20,43,-91,36,-23,29,-64,22,-127,15,23,8,-42,0,-89,-7,-65,-14,95,-20,94,-26,13,-31,66,-36,70,-40,-31,-44,87,-46,104,-48,74,-49,-68,-50,-51,-50,-125,-49,-101,-48,46,-46,-2,-45,17,-42,65,-40,123,-38,-75,-36,-54,-34,-62,-32,121,-30,0,-28,63,-27,56,-26,-6,-26,115,-25,-54,-25,-21,-25,7,-24,7,-24,44,-24,75,-24,-67,-24,105,-23,68,-22,-98,-21,56,-19,98,-17,-32,-15,-22,-12,73,-8,44,-4,78,0,-30,4,-114,9,-115,14,-103,19,-117,24,126,29,37,34,-102,38,-99,42,58,46,70,49,-58,51,-99,53,-45,54,88,55,45,55,92,54,-25,52,-37,50,79,48,62,45,-33,41,30,38,54,34,37,30,-10,25,-1,21,-8,17,75,14,-70,10,-112,7,-98,4,31,2,-40,-1,11,-2,105,-4,52,-5,19,-6,40,-7,116,-8,-75,-9,16,-9,57,-10,94,-11,53,-12,-20,-14,64,-15,104,-17,32,-19,-103,-22,-49,-25,-68,-28,124,-31,17,-34,-108,-38,23,-41,-78,-45,121,-48,-118,-51,-6,-54,-39,-56,81,-57,101,-58,30,-58,-97,-58,-41,-57,-24,-55,-80,-52,82,-48,-101,-44,-88,-39,59,-33,109,-27,20,-20,-23,-14,24,-6,59,1,119,8,107,15,57,22,-123,28,119,34,-73,39,109,44,88,48,-104,51,21,54,-77,55,-100,56,-65,56,54,56,3,55,67,53,1,51,90,48,97,45,45,42,-42,38,119,35,23,32,-31,28,-61,25,-15,22,78,20,1,18,-13,15,55,14,-71,12,-128,11,109,10,123,9,-68,8,-14,7,59,7,80,6,107,5,38,4,-41,2,22,1,46,-1,-37,-4,53,-6,98,-9,47,-12,-43,-16,54,-19,-116,-23,-72,-27,0,-30,69,-34,-53,-38,122,-41,-114,-44,-12,-47,-38,-49,63,-50,53,-51,-63,-52,-25,-52,-87,-51,9,-49,-7,-48,122,-45,117,-42,-22,-39,-62,-35,-40,-31,48,-26,-94,-22,46,-17,-93,-13,17,-8,59,-4,67,0,-27,3,80,7,95,10,-19,12,57,15,7,17,-106,18,-78,19,-90,20,55,21,-67,21,-4,21,70,22,110,22,-70,22,14,23,124,23,21,24,-41,24,-46,25,-12,26,76,28,-54,29,105,31,30,33,-40,34,-119,36,42,38,-104,39,-42,40,-73,41,77,42,99,42,14,42,33,41,-74,39,-93,37,17,35,-48,31,-5,27,-63,23,-21,18,-54,13,51,8,114,2,107,-4,105,-10,79,-16,113,-22,-86,-28,53,-33,60,-38,-90,-43,-85,-47,63,-50,122,-53,99,-55,-8,-57,66,-57,56,-57,-43,-57,16,-55,-35,-54,44,-51,-19,-49,18,-45,120,-42,40,-38,-27,-35,-47,-31,-97,-27,126,-23,29,-19,-75,-16,16,-12,34,-9,12,-6,-102,-4,8,-1,30,1,20,3,-55,4,103,6,-45,7,68,9,-119,10,-14,11,85,13,-72,14,59,16,-51,17,126,19,73,21,45,23,35,25,46,27,55,29,74,31,76,33,49,35,-12,36,-125,38,-41,39,-28,40,-105,41,-7,41,-27,41,126,41,-113,40,76,39,-128,37,83,35,-54,32,-38,29,-92,26,24,23,102,19,113,15,122,11,92,7,93,3,80,-1,103,-5,-63,-9,65,-12,15,-15,30,-18,-125,-21,50,-23,69,-25,-111,-27,78,-28,55,-29,-128,-30,-11,-31,-99,-31,-120,-31,-124,-31,-86,-31,-43,-31,19,-30,78,-30,-121,-30,-68,-30}; }
	private static byte[] data2(){ return new byte[] {-34,-30,1,-29,15,-29,29,-29,33,-29,39,-29,58,-29,83,-29,-107,-29,-25,-29,119,-28,40,-27,42,-26,118,-25,-17,-24,-43,-22,-14,-20,123,-17,66,-14,108,-11,-49,-8,-119,-4,106,0,-115,4,-63,8,28,13,-125,17,-60,21,4,26,5,30,-31,33,96,37,-97,40,102,43,-44,45,-68,47,48,49,36,50,-117,50,116,50,-40,49,-67,48,47,47,42,45,-54,42,-2,39,-7,36,-106,33,26,30,91,26,-124,22,-80,18,-57,14,-8,10,42,7,-119,3,-9,-1,-92,-4,100,-7,116,-10,-110,-13,-17,-16,-110,-18,80,-20,91,-22,117,-24,-39,-26,74,-27,-7,-29,-73,-30,-88,-31,-92,-32,-45,-33,11,-33,102,-34,-25,-35,122,-35,59,-35,18,-35,21,-35,63,-35,-114,-35,19,-34,-67,-34,-92,-33,-59,-32,5,-30,-104,-29,63,-27,63,-25,79,-23,-80,-21,33,-18,-47,-16,-110,-13,-128,-10,114,-7,-119,-4,-87,-1,-78,2,-58,5,-70,8,-84,11,106,14,31,17,-114,19,-17,21,-1,23,-7,25,-79,27,39,29,107,30,113,31,65,32,-39,32,61,33,109,33,113,33,68,33,-17,32,120,32,-44,31,23,31,59,30,61,29,51,28,1,27,-56,25,106,24,5,23,120,21,-19,19,49,18,100,16,-113,14,-107,12,-112,10,105,8,54,6,-34,3,-123,1,0,-1,-124,-4,-30,-7,72,-9,-102,-12,-35,-15,68,-17,-104,-20,13,-22,-122,-25,40,-27,-39,-30,-63,-32,-60,-34,7,-35,121,-37,39,-38,31,-39,81,-40,-40,-41,-95,-41,-69,-41,39,-40,-38,-40,-28,-39,54,-37,-42,-36,-49,-34,-17,-32,106,-29,13,-26,-11,-24,2,-20,71,-17,-100,-14,37,-10,-92,-7,84,-3,-30,0,-110,4,45,8,-94,11,21,15,74,18,115,21,82,24,20,27,-120,29,-52,31,-65,33,119,35,-25,36,-4,37,-46,38,75,39,-121,39,103,39,11,39,95,38,111,37,69,36,-43,34,57,33,96,31,90,29,59,27,-21,24,-109,22,19,20,-105,17,1,15,120,12,-36,9,94,7,-55,4,77,2,-20,-1,-115,-3,87,-5,28,-7,18,-9,5,-11,37,-13,73,-15,-110,-17,-28,-19,92,-20,-41,-22,103,-23,35,-24,-36,-26,-56,-27,-82,-28,-55,-29,-25,-30,51,-30,-108,-31,25,-31,-60,-32,-107,-32,-117,-32,-72,-32,5,-31,-110,-31,64,-30,53,-29,74,-28,-89,-27,37,-25,-24,-24,-57,-22,-22,-20,53,-17,-111,-15,37,-12,-70,-10,127,-7,56,-4,19,-1,-42,1,-83,4,94,7,21,10,-74,12,30,15,124,17,-99,19,-91,21,114,23,28,25,-118,26,-48,27,-35,28,-62,29,113,30,-6,30,86,31,-123,31,-110,31,119,31,65,31,-29,30,111,30,-37,29,38,29,101,28,115,27,105,26,82,25,5,24,-76,22,34,21,-117,19,-81,17,-51,15,-96,13,109,11,-18,8,83,6,-95,3,-71,0,-56,-3,-89,-6,-124,-9,72,-12,11,-15,-49,-19,-90,-22,-121,-25,-101,-28,-59,-31,43,-33,-37,-36,-57,-38,17,-39,-84,-41,-89,-42,10,-42,-49,-43,3,-42,-100,-42,-92,-41,13,-39,-43,-38,-5,-36,105,-33,45,-30,29,-27,82,-24,-102,-21,17,-17,-126,-14,6,-10,114,-7,-41,-4,38,0,48,3,39,6,-50,8,87,11,-123,13,-107,15,71,17,-40,18,24,20,50,21,37,22,-55,22,103,23,-55,23,42,24,97,24,-97,24,-67,24,-18,24,4,25,48,25,75,25,111,25,-111,25,-85,25,-67,25,-56,25,-71,25,-99,25,88,25,-5,24,104,24,-73,23,-66,22,-112,21,57,20,-111,18,-57,16,-91,14,101,12,-36,9,52,7,87,4,105,1,78,-2,67,-5,20,-8,-5,-12,-3,-15,18,-17,92,-20,-54,-23,127,-25,105,-27,-94,-29,35,-30,-9,-32,20,-32,-124,-33,70,-33,80,-33,-88,-33,53,-32,10,-31,7,-30,53,-29,-122,-28,-18,-27,111,-25,-12,-24,-120,-22,32,-20,-97,-19,45,-17,-104,-16,15,-14,103,-13,-59,-12,16,-10,101,-9,-87,-8,13,-6,114,-5,-32,-4,104,-2,1,0,-57,1,-104,3,-94,5,-76,7,-1,9,82,12,-46,14,83,17,-17,19,-112,22,24,25,-92,27,-1,29,65,32,73,34,15,36,-109,37,-73,38,-119,39,-21,39,-26,39,115,39,-116,38,59,37,112,35,75,33,-79,30,-47,27,-117,24,24,21,87,17,114,13,-125,9,123,5,-120,1,-103,-3,-35,-7,62,-10,-16,-14,-50,-17,20,-19,-110,-22,-125,-24,-74,-26,70,-27,63,-28,125,-29,25,-29,-15,-30,20,-29,102,-29,-18,-29,-110,-28,93,-27,43,-26,14,-25,-17,-25,-52,-24,-95,-23,103,-22,28,-21,-57,-21,90,-20,-19,-20,103,-19,-13,-19,103,-18,0,-17,-97,-17,74,-16,36,-15,12,-14,53,-13,120,-12,-4,-11,-86,-9,-109,-7,-87,-5,-8,-3,125,0,10,3,-47,5,-110,8,122,11,70,14,36,17,-48,19,114,22,-44,24}; }
	private static byte[] data3(){ return new byte[] {10,27,-8,28,-96,30,-4,31,-12,32,-99,33,-29,33,-46,33,100,33,-94,32,-110,31,51,30,-103,28,-61,26,-73,24,-100,22,81,20,17,18,-74,15,116,13,46,11,16,9,-7,6,23,5,64,3,-92,1,22,0,-89,-2,112,-3,57,-4,48,-5,33,-6,45,-7,44,-8,54,-9,37,-10,26,-11,-27,-13,-93,-14,80,-15,-34,-17,93,-18,-63,-20,26,-21,105,-23,-75,-25,9,-26,108,-28,-24,-30,-114,-31,93,-32,112,-33,-67,-34,93,-34,81,-34,-96,-34,77,-33,101,-32,-41,-31,-72,-29,-19,-27,-119,-24,127,-21,-88,-18,39,-14,-63,-11,-103,-7,114,-3,101,1,68,5,23,9,-68,12,60,16,110,19,106,22,18,25,81,27,62,29,-65,30,-27,31,-95,32,6,33,5,33,-66,32,28,32,64,31,41,30,-39,28,110,27,-32,25,66,24,-96,22,-10,20,95,19,-56,17,79,16,-32,14,-126,13,80,12,28,11,13,10,-1,8,4,8,6,7,15,6,5,5,-4,3,-46,2,-95,1,66,0,-57,-2,59,-3,-125,-5,-70,-7,-60,-9,-51,-11,-89,-13,-110,-15,92,-17,69,-19,35,-21,36,-23,66,-25,-112,-27,10,-28,-60,-30,-65,-31,2,-31,-108,-32,121,-32,-85,-32,55,-31,18,-30,58,-29,-71,-28,103,-26,100,-24,-121,-22,-34,-20,77,-17,-34,-15,107,-12,14,-9,-108,-7,30,-4,-110,-2,-51,0,0,3,-20,4,-55,6,94,8,-32,9,28,11,71,12,55,13,25,14,-51,14,123,15,24,16,-102,16,38,17,-96,17,46,18,-76,18,76,19,-22,19,-116,20,66,21,-22,21,-92,22,78,23,-18,23,-123,24,-9,24,86,25,-127,25,-121,25,78,25,-29,24,43,24,58,23,-12,21,95,20,-103,18,113,16,36,14,121,11,-76,8,-89,5,-120,2,63,-1,-16,-5,-109,-8,59,-11,8,-14,-23,-18,-2,-21,67,-23,-49,-26,-98,-28,-64,-30,52,-31,2,-32,42,-33,-81,-34,-116,-34,-68,-34,71,-33,24,-32,52,-31,-114,-30,24,-28,-39,-27,-77,-25,-77,-23,-71,-21,-41,-19,-12,-17,6,-14,20,-12,9,-10,-5,-9,-61,-7,-117,-5,38,-3,-65,-2,48,0,-96,1,2,3,66,4,-115,5,-66,6,-3,7,44,9,108,10,-97,11,-23,12,34,14,116,15,-77,16,5,18,74,19,-124,20,-79,21,-51,22,-49,23,-75,24,118,25,15,26,121,26,-78,26,-80,26,117,26,2,26,75,25,99,24,47,23,-43,21,46,20,113,18,107,16,89,14,18,12,-59,9,90,7,-30,4,124,2,14,0,-67,-3,115,-5,81,-7,65,-9,101,-11,-97,-13,23,-14,-90,-16,98,-17,93,-18,105,-19,-71,-20,17,-20,-91,-21,66,-21,7,-21,-35,-22,-59,-22,-59,-22,-59,-22,-36,-22,-11,-22,23,-21,68,-21,114,-21,-80,-21,-17,-21,70,-20,-98,-20,24,-19,-106,-19,64,-18,0,-17,-40,-17,-36,-16,-7,-15,74,-13,-76,-12,86,-10,14,-8,0,-6,-2,-5,54,-2,113,0,-41,2,79,5,-70,7,66,10,-87,12,28,15,103,17,-91,19,-78,21,-98,23,80,25,-49,26,23,28,14,29,-47,29,63,30,113,30,83,30,-9,29,80,29,108,28,76,27,-20,25,106,24,-92,22,-61,20,-60,18,-91,16,125,14,58,12,3,10,-77,7,-126,5,65,3,32,1,3,-1,-16,-4,14,-5,43,-7,119,-9,-54,-11,68,-12,-46,-14,122,-15,62,-16,25,-17,10,-18,28,-19,56,-20,112,-21,-59,-22,44,-22,-78,-23,74,-23,-2,-24,-51,-24,-75,-24,-67,-24,-31,-24,36,-23,-118,-23,15,-22,-74,-22,126,-21,109,-20,115,-19,-84,-18,-16,-17,106,-15,-27,-14,-103,-12,84,-10,35,-8,4,-6,-18,-5,-28,-3,-39,-1,-44,1,-62,3,-76,5,-121,7,96,9,10,11,-73,12,64,14,-94,15,-12,16,16,18,33,19,-9,19,-63,20,83,21,-46,21,34,22,89,22,108,22,95,22,50,22,-18,21,-122,21,16,21,115,20,-49,19,5,19,55,18,67,17,80,16,54,15,16,14,-28,12,-104,11,82,10,-27,8,127,7,-6,5,118,4,-34,2,65,1,-106,-1,-38,-3,49,-4,115,-6,-61,-8,7,-9,96,-11,-81,-13,29,-14,-120,-16,17,-17,-90,-19,93,-20,36,-21,17,-22,30,-23,82,-24,-86,-25,46,-25,-39,-26,-74,-26,-71,-26,-15,-26,80,-25,-25,-25,-88,-24,-111,-23,-85,-22,-24,-21,83,-19,-38,-18,-115,-16,79,-14,66,-12,47,-10,81,-8,93,-6,-105,-4,-53,-2,-11,0,45,3,74,5,114,7,114,9,121,11,77,13,32,15,-67,16,75,18,-76,19,-26,20,-1,21,-32,22,-97,23,41,24,-115,24,-67,24,-57,24,-99,24,79,24,-44,23,48,23,103,22,123,21,112,20,72,19,1,18,-86,16,53,15,-67,13,36,12,-104,10,-21,8,66,7,-95,5,-15,3,88,2,-85,0,35,-1,-126,-3,12,-4,-126,-6}; }
	private static byte[] data4(){ return new byte[] {32,-7,-77,-9,107,-10,27,-11,-32,-13,-63,-14,-90,-15,-88,-16,-78,-17,-43,-18,10,-18,80,-19,-78,-20,36,-20,-79,-21,84,-21,22,-21,-18,-22,-20,-22,-5,-22,51,-21,-121,-21,-8,-21,-110,-20,66,-19,28,-18,27,-17,41,-16,100,-15,-83,-14,28,-12,-100,-11,51,-9,-33,-8,-112,-6,90,-4,32,-2,-19,-1,-64,1,-112,3,77,5,7,7,-89,8,66,10,-69,11,39,13,112,14,-90,15,-75,16,-81,17,-117,18,60,19,-38,19,77,20,-84,20,-26,20,7,21,12,21,-11,20,-59,20,125,20,30,20,-92,19,20,19,114,18,-74,17,-18,16,1,16,18,15,-6,13,-32,12,-99,11,87,10,-22,8,104,7,-30,5,56,4,-116,2,-64,0,-11,-2,15,-3,48,-5,60,-7,89,-9,101,-11,-113,-13,-80,-15,-22,-17,71,-18,-82,-20,77,-21,-4,-23,-23,-24,-10,-25,65,-25,-73,-26,110,-26,88,-26,-127,-26,-33,-26,120,-25,75,-24,76,-23,-122,-22,-27,-21,112,-19,35,-17,-26,-16,-45,-14,-66,-12,-58,-10,-45,-8,-48,-6,-43,-4,-62,-2,-83,0,115,2,53,4,-57,5,85,7,-86,8,-3,9,38,11,41,12,29,13,-30,13,-92,14,55,15,-51,15,54,16,-88,16,-11,16,69,17,125,17,-76,17,-38,17,-5,17,9,18,22,18,12,18,-3,17,-39,17,-95,17,91,17,-7,16,124,16,-27,15,51,15,95,14,116,13,90,12,53,11,-42,9,118,8,-35,6,71,5,-127,3,-81,1,-34,-1,-13,-3,23,-4,43,-6,89,-8,-126,-10,-47,-12,37,-13,-90,-15,60,-16,2,-17,-29,-19,-9,-20,52,-20,-93,-21,61,-21,3,-21,-11,-22,16,-21,82,-21,-71,-21,62,-20,-31,-20,-95,-19,111,-18,86,-17,66,-16,64,-15,66,-14,73,-13,84,-12,100,-11,107,-10,-126,-9,-120,-8,-99,-7,-68,-6,-60,-5,-22,-4,-1,-3,47,-1,90,0,-102,1,-38,2,49,4,-123,5,-12,6,106,8,-42,9,92,11,-53,12,77,14,-73,15,33,17,111,18,-81,19,-52,20,-52,21,-95,22,77,23,-61,23,12,24,21,24,-20,23,-128,23,-34,22,-2,21,-26,20,-107,19,20,18,95,16,125,14,-121,12,99,10,61,8,-11,5,-70,3,113,1,60,-1,14,-3,-5,-6,4,-7,42,-9,122,-11,-28,-13,-111,-14,89,-15,91,-16,-128,-17,-39,-18,88,-18,-3,-19,-54,-19,-76,-19,-67,-19,-40,-19,20,-18,86,-18,-83,-18,9,-17,112,-17,-36,-17,71,-16,-69,-16,43,-15,-93,-15,26,-14,-100,-14,36,-13,-79,-13,77,-12,-16,-12,-80,-11,116,-10,90,-9,78,-8,96,-7,-121,-6,-52,-5,46,-3,-104,-2,35,0,-76,1,96,3,8,5,-62,6,114,8,34,10,-60,11,87,13,-49,14,50,16,114,17,-124,18,117,19,45,20,-62,20,26,21,70,21,61,21,4,21,-103,20,6,20,63,19,95,18,84,17,53,16,-10,14,-79,13,78,12,-6,10,-119,9,51,8,-54,6,113,5,41,4,-27,2,-71,1,-112,0,-126,-1,112,-2,125,-3,-127,-4,-95,-5,-75,-6,-35,-7,-8,-8,22,-8,60,-9,86,-10,118,-11,-121,-12,-94,-13,-80,-14,-59,-15,-39,-16,-16,-17,22,-17,68,-18,-124,-19,-32,-20,78,-20,-30,-21,-102,-21,117,-21,-127,-21,-69,-21,34,-20,-57,-20,-111,-19,-98,-18,-37,-17,62,-15,-38,-14,-109,-12,123,-10,122,-8,-107,-6,-65,-4,-11,-2,42,1,99,3,-111,5,-100,7,-97,9,110,11,46,13,-83,14,18,16,56,17,54,18,-7,18,-113,19,-20,19,35,20,36,20,-1,19,-82,19,63,19,-80,18,10,18,75,17,-126,16,-91,15,-54,14,-33,13,-10,12,17,12,39,11,74,10,99,9,-114,8,-86,7,-36,6,-11,5,37,5,59,4,90,3,104,2,99,1,109,0,82,-1,64,-2,14,-3,-27,-5,-98,-6,95,-7,14,-8,-62,-10,114,-11,33,-12,-23,-14,-79,-15,-104,-16,-119,-17,-92,-18,-50,-19,49,-19,-92,-20,87,-20,35,-20,44,-20,88,-20,-68,-20,70,-19,-3,-19,-33,-18,-29,-17,12,-15,81,-14,-82,-13,33,-11,-95,-10,45,-8,-59,-7,76,-5,-37,-4,88,-2,-48,-1,47,1,-122,2,-65,3,-20,4,-5,5,-6,6,-32,7,-76,8,-128,9,36,10,-51,10,90,11,-27,11,97,12,-36,12,71,13,-70,13,26,14,-123,14,-36,14,59,15,-124,15,-46,15,11,16,57,16,88,16,94,16,84,16,43,16,-28,15,123,15,-9,14,74,14,-128,13,-124,12,115,11,43,10,-43,8,74,7,-74,5,-10,3,49,2,79,0,98,-2,127,-4,-113,-6,-78,-8,-36,-10,31,-11,116,-13,-15,-15,-124,-16,81,-17,52,-18,81,-19,-102,-20,21,-20,-61,-21,-100,-21,-86,-21,-31,-21,67,-20,-48,-20,121,-19,79,-18,47,-17,57,-16,77,-15,112,-14,-94,-13,-44,-12,19,-10,74,-9,-120,-8,-72,-7}; }
	private static byte[] data5(){ return new byte[] {-16,-6,17,-4,63,-3,91,-2,109,-1,126,0,127,1,-121,2,123,3,122,4,102,5,97,6,70,7,59,8,30,9,8,10,-14,10,-60,11,-93,12,101,13,44,14,-41,14,127,15,6,16,-125,16,-35,16,36,17,70,17,79,17,48,17,-9,16,-112,16,21,16,101,15,-90,14,-72,13,-76,12,-112,11,91,10,3,9,-97,7,51,6,-74,4,59,3,-71,1,60,0,-58,-2,89,-3,-7,-5,-86,-6,109,-7,57,-8,51,-9,47,-10,84,-11,-123,-12,-40,-13,55,-13,-69,-14,69,-14,-13,-15,-88,-15,116,-15,79,-15,56,-15,50,-15,55,-15,73,-15,103,-15,-113,-15,-59,-15,3,-14,82,-14,-87,-14,22,-13,-116,-13,22,-12,-84,-12,88,-11,22,-10,-27,-10,-49,-9,-58,-8,-41,-7,-8,-6,46,-4,127,-3,-51,-2,54,0,-96,1,24,3,-112,4,12,6,-128,7,-12,8,83,10,-80,11,-23,12,29,14,44,15,29,16,-15,16,-99,17,38,18,-117,18,-63,18,-40,18,-65,18,-123,18,31,18,-104,17,-21,16,34,16,57,15,54,14,27,13,-19,11,-81,10,96,9,14,8,-84,6,79,5,-22,3,-127,2,48,1,-48,-1,-115,-2,63,-3,19,-4,-34,-6,-55,-7,-80,-8,-72,-9,-65,-10,-38,-11,11,-11,69,-12,-103,-13,-14,-14,105,-14,-27,-15,124,-15,31,-15,-39,-16,-95,-16,-122,-16,115,-16,-126,-16,-102,-16,-43,-16,23,-15,-125,-15,-16,-15,-122,-14,35,-13,-28,-13,-84,-12,-107,-11,-114,-10,-112,-9,-84,-8,-53,-7,-1,-6,53,-4,120,-3,-71,-2,5,0,69,1,-111,2,-59,3,5,5,51,6,78,7,101,8,94,9,84,10,41,11,-12,11,-92,12,63,13,-59,13,50,14,-115,14,-55,14,-10,14,4,15,6,15,-22,14,-65,14,126,14,42,14,-59,13,77,13,-57,12,42,12,-126,11,-50,10,5,10,62,9,86,8,121,7,126,6,-121,5,-128,4,115,3,96,2,59,1,40,0,-4,-2,-29,-3,-72,-4,-100,-5,120,-6,99,-7,73,-8,67,-9,63,-10,74,-11,102,-12,-125,-13,-55,-14,16,-14,119,-15,-14,-16,127,-16,49,-16,-16,-17,-43,-17,-50,-17,-24,-17,29,-16,107,-16,-35,-16,91,-15,9,-14,-73,-14,-106,-13,118,-12,126,-11,-119,-10,-75,-9,-23,-8,40,-6,117,-5,-58,-4,34,-2,120,-1,-35,0,46,2,-116,3,-43,4,30,6,85,7,-124,8,-94,9,-87,10,-96,11,122,12,72,13,-18,13,-115,14,-2,14,103,15,-91,15,-48,15,-32,15,-52,15,-87,15,98,15,8,15,-109,14,8,14,105,13,-76,12,-16,11,24,11,52,10,67,9,60,8,64,7,44,6,30,5,4,4,-16,2,-46,1,-65,0,-89,-1,-107,-2,-117,-3,117,-4,-124,-5,-128,-6,-100,-7,-81,-8,-37,-9,8,-9,74,-10,-112,-11,-20,-12,79,-12,-57,-13,74,-13,-34,-14,-122,-14,61,-14,11,-14,-25,-15,-36,-15,-30,-15,-6,-15,47,-14,111,-14,-48,-14,65,-13,-59,-13,98,-12,12,-11,-47,-11,-94,-10,-117,-9,122,-8,-126,-7,-119,-6,-87,-5,-60,-4,-17,-3,34,-1,69,0,122,1,-102,2,-60,3,-40,4,-14,5,-16,6,-15,7,-43,8,-78,9,-127,10,48,11,-42,11,97,12,-34,12,64,13,-109,13,-51,13,-11,13,11,14,6,14,-7,13,-49,13,-104,13,79,13,-14,12,-118,12,15,12,-126,11,-21,10,65,10,-117,9,-58,8,-14,7,10,7,40,6,35,5,44,4,16,3,6,2,-40,0,-66,-1,-122,-2,97,-3,37,-4,-3,-6,-56,-7,-100,-8,126,-9,103,-10,94,-11,104,-12,-128,-13,-82,-14,-6,-15,86,-15,-41,-16,113,-16,39,-16,7,-16,-4,-17,31,-16,86,-16,-72,-16,49,-15,-51,-15,-124,-14,83,-13,61,-12,61,-11,73,-10,107,-9,-111,-8,-59,-7,-6,-6,55,-4,109,-3,-91,-2,-46,-1,-6,0,23,2,38,3,54,4,27,5,16,6,-43,6,-90,7,81,8,-6,8,-114,9,18,10,-117,10,-13,10,84,11,-95,11,-28,11,27,12,72,12,102,12,127,12,-124,12,-126,12,117,12,83,12,47,12,-18,11,-92,11,76,11,-34,10,99,10,-48,9,49,9,120,8,-75,7,-40,6,-13,5,-13,4,-24,3,-43,2,-77,1,-109,0,93,-1,56,-2,-1,-4,-36,-5,-82,-6,-101,-7,-125,-8,-122,-9,-106,-10,-81,-11,-12,-12,62,-12,-84,-13,48,-13,-53,-14,-119,-14,88,-14,72,-14,79,-14,106,-14,-93,-14,-21,-14,72,-13,-70,-13,54,-12,-63,-12,94,-11,-7,-11,-85,-10,87,-9,21,-8,-52,-8,-109,-7,93,-6,29,-5,-11,-5,-75,-4,-109,-3,93,-2,63,-1,17,0,-10,0,-43,1,-70,2,-81,3,-116,4,-125,5,101,6,88,7,58,8,33,9,-5,9,-49,10,-106,11,80,12,-9,12,-115,13,12,14,113,14,-67,14,-24,14,-5,14,-23,14,-72,14}; }
	private static byte[] data6(){ return new byte[] {104,14,-12,13,99,13,-81,12,-37,11,-11,10,-21,9,-42,8,-94,7,108,6,28,5,-44,3,116,2,40,1,-50,-1,-128,-2,69,-3,11,-4,-17,-6,-39,-7,-28,-8,-8,-9,49,-9,115,-10,-36,-11,81,-11,-29,-12,-117,-12,63,-12,24,-12,-12,-13,-19,-13,-19,-13,-3,-13,28,-12,66,-12,115,-12,-81,-12,-19,-12,62,-11,-122,-11,-24,-11,62,-10,-82,-10,23,-9,-106,-9,19,-8,-89,-8,59,-7,-28,-7,-108,-6,82,-5,40,-4,-8,-4,-30,-3,-50,-2,-55,-1,-54,0,-44,1,-32,2,-17,3,-2,4,10,6,19,7,12,8,-5,8,-38,9,-86,10,94,11,3,12,-117,12,-7,12,77,13,-128,13,-100,13,-108,13,122,13,54,13,-27,12,117,12,-18,11,88,11,-89,10,-14,9,36,9,90,8,119,7,-103,6,-71,5,-47,4,-9,3,14,3,59,2,92,1,-111,0,-66,-1,-2,-2,55,-2,-127,-3,-58,-4,15,-4,102,-5,-72,-6,21,-6,109,-7,-48,-8,45,-8,-105,-9,-5,-10,107,-10,-35,-11,85,-11,-38,-12,101,-12,1,-12,-86,-13,95,-13,48,-13,11,-13,6,-13,19,-13,60,-13,127,-13,-31,-13,96,-12,-12,-12,-85,-11,116,-10,98,-9,87,-8,117,-7,-114,-6,-50,-5,4,-3,84,-2,-91,-1,-21,0,63,2,121,3,-72,4,-33,5,-4,6,-3,7,-12,8,-64,9,-117,10,33,11,-78,11,26,12,106,12,-97,12,-71,12,-69,12,-88,12,122,12,66,12,-18,11,-105,11,40,11,-77,10,54,10,-84,9,35,9,-114,8,-4,7,94,7,-56,6,34,6,-123,5,-34,4,47,4,-118,3,-43,2,36,2,104,1,-82,0,-26,-1,36,-1,80,-2,-122,-3,-83,-4,-39,-5,0,-5,35,-6,85,-7,-126,-8,-69,-9,-6,-10,71,-10,-95,-11,9,-11,-122,-12,22,-12,-68,-13,124,-13,79,-13,69,-13,78,-13,118,-13,-71,-13,15,-12,-121,-12,16,-11,-78,-11,102,-10,44,-9,1,-8,-22,-8,-48,-7,-57,-6,-69,-5,-74,-4,-82,-3,-91,-2,-109,-1,-127,0,95,1,60,2,15,3,-50,3,-120,4,51,5,-42,5,102,6,-8,6,112,7,-18,7,84,8,-65,8,21,9,110,9,-68,9,-3,9,62,10,111,10,-97,10,-65,10,-37,10,-27,10,-23,10,-35,10,-64,10,-107,10,88,10,10,10,-84,9,50,9,-80,8,11,8,100,7,-106,6,-54,5,-40,4,-24,3,-35,2,-58,1,-75,0,-116,-1,110,-2,69,-3,39,-4,9,-5,-6,-7,-16,-8,-4,-9,19,-9,64,-10,-122,-11,-30,-12,90,-12,-23,-13,-106,-13,93,-13,63,-13,61,-13,82,-13,-125,-13,-58,-13,38,-12,-107,-12,21,-11,-86,-11,66,-10,-14,-10,-94,-9,94,-8,33,-7,-31,-7,-84,-6,117,-5,67,-4,8,-3,-46,-3,-105,-2,91,-1,27,0,-37,0,-108,1,81,2,3,3,-71,3,102,4,21,5,-62,5,97,6,4,7,-104,7,47,8,-77,8,58,9,-85,9,25,10,117,10,-59,10,7,11,51,11,79,11,90,11,77,11,48,11,-6,10,-77,10,82,10,-28,9,91,9,-68,8,27,8,86,7,-104,6,-70,5,-31,4,-11,3,10,3,25,2,37,1,51,0,69,-1,90,-2,112,-3,-101,-4,-59,-5,5,-5,71,-6,-95,-7,-5,-8,117,-8,-22,-9,-127,-9,20,-9,-62,-10,118,-10,64,-10,15,-10,-15,-11,-38,-11,-45,-11,-44,-11,-30,-11,-6,-11,28,-10,74,-10,-128,-10,-54,-10,14,-9,114,-9,-56,-9,69,-8,-76,-8,68,-7,-49,-7,113,-6,24,-5,-50,-5,-107,-4,86,-3,46,-2,5,-1,-25,-1,-52,0,-74,1,-98,2,-114,3,113,4,90,5,51,6,11,7,-39,7,-110,8,66,9,-33,9,106,10,-32,10,69,11,-115,11,-57,11,-32,11,-19,11,-44,11,-74,11,110,11,35,11,-76,10,61,10,-82,9,17,9,102,8,-83,7,-24,6,31,6,71,5,106,4,-112,3,-83,2,-47,1,-19,0,21,0,56,-1,101,-2,-106,-3,-50,-4,10,-4,80,-5,-97,-6,-7,-7,94,-7,-55,-8,68,-8,-58,-9,86,-9,-14,-10,-104,-10,79,-10,15,-10,-34,-11,-68,-11,-90,-11,-95,-11,-85,-11,-62,-11,-25,-11,33,-10,99,-10,-71,-10,29,-9,-117,-9,19,-8,-103,-8,56,-7,-40,-7,-116,-6,65,-5,7,-4,-52,-4,-99,-3,108,-2,68,-1,32,0,-17,0,-54,1,-109,2,99,3,35,4,-29,4,-106,5,62,6,-33,6,108,7,-10,7,106,8,-39,8,47,9,124,9,-72,9,-28,9,3,10,17,10,14,10,4,10,-32,9,-69,9,123,9,58,9,-31,8,-119,8,23,8,-87,7,35,7,-99,6,9,6,111,5,-53,4,35,4,112,3,-73,2,0,2,64,1,-128,0,-66,-1,-8,-2,57,-2,114,-3,-74,-4,-7,-5,62,-5,-116,-6,-33,-7,63,-7,-92,-8,22,-8,-112,-9,30,-9,-84,-10}; }
	private static byte[] data7(){ return new byte[] {90,-10,7,-10,-51,-11,-94,-11,-123,-11,124,-11,-125,-11,-96,-11,-59,-11,10,-10,79,-10,-77,-10,31,-9,-100,-9,45,-8,-64,-8,117,-7,26,-6,-31,-6,-96,-5,114,-4,65,-3,29,-2,-12,-2,-43,-1,-82,0,-114,1,97,2,57,3,11,4,-51,4,-113,5,62,6,-22,6,-125,7,17,8,-108,8,1,9,101,9,-75,9,-12,9,38,10,64,10,77,10,73,10,49,10,11,10,-43,9,-116,9,60,9,-45,8,102,8,-24,7,91,7,-48,6,44,6,-112,5,-33,4,53,4,121,3,-55,2,7,2,81,1,-113,0,-47,-1,25,-1,98,-2,-83,-3,-2,-4,86,-4,-83,-5,22,-5,121,-6,-15,-7,103,-7,-18,-8,122,-8,15,-8,-75,-9,97,-9,32,-9,-30,-10,-68,-10,-105,-10,-118,-10,-122,-10,-113,-10,-85,-10,-47,-10,5,-9,77,-9,-102,-9,-3,-9,105,-8,-34,-8,107,-7,-14,-7,-106,-6,52,-5,-21,-5,-105,-4,89,-3,16,-2,-38,-2,-104,-1,96,0,36,1,-28,1,-92,2,94,3,12,4,-66,4,98,5,-8,5,-117,6,11,7,-125,7,-16,7,75,8,-101,8,-31,8,17,9,61,9,83,9,96,9,91,9,80,9,45,9,10,9,-51,8,-110,8,62,8,-21,7,-126,7,23,7,-100,6,22,6,-113,5,-9,4,94,4,-73,3,15,3,92,2,-89,1,-21,0,45,0,107,-1,-95,-2,-29,-3,30,-3,93,-4,-93,-5,-26,-6,58,-6,-114,-7,-20,-8,93,-8,-52,-9,89,-9,-25,-10,-115,-10,67,-10,7,-10,-25,-11,-50,-11,-44,-11,-26,-11,13,-10,73,-10,-107,-10,-11,-10,102,-9,-28,-9,114,-8,11,-7,-78,-7,95,-6,24,-5,-46,-5,-106,-4,88,-3,30,-2,-30,-2,-92,-1,108,0,30,1,-39,1,-126,2,43,3,-55,3,94,4,-24,4,108,5,-27,5,83,6,-66,6,19,7,103,7,-83,7,-20,7,31,8,75,8,105,8,-126,8,-114,8,-109,8,-118,8,123,8,92,8,57,8,2,8,-53,7,124,7,45,7,-53,6,94,6,-21,5,100,5,-36,4,60,4,-94,3,-12,2,71,2,-114,1,-43,0,17,0,85,-1,-113,-2,-47,-3,17,-3,91,-4,-92,-5,-7,-6,87,-6,-64,-7,56,-7,-72,-8,75,-8,-21,-9,-102,-9,89,-9,42,-9,10,-9,-8,-10,-5,-10,6,-9,39,-9,80,-9,-118,-9,-51,-9,29,-8,118,-8,-37,-8,65,-7,-67,-7,46,-6,-79,-6,51,-5,-68,-5,69,-4,-39,-4,99,-3,2,-2,-114,-2,49,-1,-61,-1,101,0,4,1,-97,1,64,2,-38,2,123,3,16,4,-81,4,61,5,-42,5,87,6,-26,6,92,7,-45,7,57,8,-106,8,-27,8,35,9,88,9,116,9,-122,9,-127,9,105,9,68,9,3,9,-72,8,82,8,-29,7,93,7,-52,6,43,6,124,5,-57,4,2,4,63,3,111,2,-103,1,-46,0,-8,-1,55,-1,105,-2,-85,-3,-11,-4,67,-4,-91,-5,10,-5,127,-6,3,-6,-113,-7,44,-7,-40,-8,-114,-8,84,-8,37,-8,2,-8,-17,-9,-34,-9,-32,-9,-26,-9,-9,-9,19,-8,50,-8,95,-8,-113,-8,-56,-8,7,-7,80,-7,-98,-7,-12,-7,82,-6,-77,-6,38,-5,-109,-5,27,-4,-108,-4,38,-3,-75,-3,76,-2,-19,-2,-114,-1,54,0,-29,0,-114,1,59,2,-14,2,-112,3,67,4,-36,4,122,5,12,6,-111,6,15,7,126,7,-35,7,49,8,114,8,-94,8,-59,8,-47,8,-48,8,-69,8,-102,8,98,8,37,8,-50,7,118,7,9,7,-105,6,25,6,-109,5,13,5,121,4,-22,3,85,3,-71,2,43,2,-117,1,-1,0,100,0,-47,-1,69,-1,-72,-2,48,-2,-86,-3,41,-3,-86,-4,46,-4,-71,-5,67,-5,-43,-6,107,-6,0,-6,-94,-7,67,-7,-14,-8,-97,-8,96,-8,29,-8,-16,-9,-60,-9,-88,-9,-101,-9,-106,-9,-89,-9,-65,-9,-19,-9,37,-8,114,-8,-53,-8,56,-7,-82,-7,60,-6,-56,-6,117,-5,24,-4,-40,-4,-109,-3,88,-2,35,-1,-25,-1,-69,0,118,1,71,2,-5,2,-73,3,98,4,3,5,-98,5,35,6,-99,6,7,7,100,7,-85,7,-20,7,18,8,50,8,63,8,61,8,50,8,22,8,-17,7,-63,7,-125,7,67,7,-11,6,-90,6,73,6,-16,5,-122,5,37,5,-78,4,67,4,-49,3,86,3,-35,2,94,2,-35,1,89,1,-46,0,73,0,-69,-1,49,-1,-99,-2,18,-2,121,-3,-17,-4,94,-4,-44,-5,76,-5,-54,-6,77,-6,-42,-7,107,-7,7,-7,-81,-8,98,-8,35,-8,-14,-9,-47,-9,-66,-9,-69,-9,-57,-9,-27,-9,16,-8,79,-8,-107,-8,-14,-8,84,-7,-54,-7,69,-6,-53,-6,88,-5,-18,-5,-124,-4,37,-3,-63,-3,100,-2,0,-1,-94,-1,64,0,-44,0,106,1,-10,1,126,2,0,3,121,3}; }
	private static byte[] data8(){ return new byte[] {-16,3,90,4,-63,4,31,5,117,5,-54,5,16,6,85,6,-113,6,-62,6,-14,6,19,7,53,7,73,7,88,7,92,7,90,7,74,7,53,7,18,7,-25,6,-82,6,110,6,26,6,-56,5,91,5,-15,4,111,4,-25,3,90,3,-66,2,33,2,115,1,-52,0,24,0,103,-1,-80,-2,0,-2,76,-3,-91,-4,-6,-5,90,-5,-55,-6,56,-6,-62,-7,72,-7,-22,-8,-110,-8,79,-8,23,-8,-14,-9,-36,-9,-45,-9,-33,-9,-11,-9,27,-8,79,-8,-114,-8,-39,-8,45,-7,-113,-7,-13,-7,100,-6,-42,-6,81,-5,-45,-5,82,-4,-40,-4,92,-3,-26,-3,106,-2,-9,-2,124,-1,3,0,-118,0,16,1,-108,1,22,2,-110,2,15,3,-121,3,-6,3,109,4,-43,4,63,5,-101,5,-9,5,72,6,-108,6,-44,6,12,7,58,7,91,7,116,7,123,7,126,7,108,7,85,7,40,7,-8,6,-83,6,106,6,4,6,-86,5,48,5,-65,4,52,4,-74,3,27,3,-113,2,-15,1,88,1,-67,0,25,0,-122,-1,-25,-2,89,-2,-61,-3,62,-3,-73,-4,61,-4,-58,-5,92,-5,-10,-6,-102,-6,75,-6,1,-6,-60,-7,-113,-7,100,-7,65,-7,41,-7,25,-7,17,-7,20,-7,30,-7,48,-7,78,-7,111,-7,-98,-7,-49,-7,15,-6,78,-6,-96,-6,-18,-6,81,-5,-85,-5,32,-4,-116,-4,9,-3,-123,-3,10,-2,-110,-2,34,-1,-79,-1,71,0,-37,0,113,1,9,2,-101,2,48,3,-65,3,70,4,-55,4,69,5,-76,5,32,6,123,6,-51,6,23,7,74,7,124,7,-108,7,-87,7,-90,7,-100,7,-127,7,88,7,36,7,-29,6,-108,6,62,6,-39,5,108,5,-7,4,126,4,-5,3,119,3,-23,2,94,2,-52,1,60,1,-84,0,24,0,-115,-1,-4,-2,113,-2,-19,-3,104,-3,-17,-4,116,-4,7,-4,-104,-5,54,-5,-40,-6,-123,-6,54,-6,-16,-7,-74,-7,-127,-7,89,-7,57,-7,34,-7,22,-7,21,-7,26,-7,48,-7,73,-7,115,-7,-96,-7,-30,-7,32,-6,116,-6,-58,-6,42,-5,-114,-5,-1,-5,116,-4,-16,-4,113,-3,-11,-3,-124,-2,8,-1,-99,-1,33,0,-75,0,59,1,-56,1,75,2,-52,2,76,3,-68,3,52,4,-107,4,0,5,80,5,-90,5,-26,5,40,6,87,6,-127,6,-97,6,-77,6,-67,6,-66,6,-80,6,-96,6,125,6,91,6,38,6,-17,5,-84,5,98,5,18,5,-73,4,90,4,-13,3,-121,3,21,3,-96,2,39,2,-86,1,42,1,-84,0,37,0,-91,-1,31,-1,-99,-2,28,-2,-103,-3,32,-3,-89,-4,51,-4,-60,-5,95,-5,-7,-6,-92,-6,77,-6,6,-6,-57,-7,-115,-7,101,-7,61,-7,43,-7,28,-7,29,-7,39,-7,60,-7,93,-7,-117,-7,-66,-7,3,-6,75,-6,-91,-6,-1,-6,105,-5,-45,-5,77,-4,-61,-4,73,-3,-55,-3,88,-2,-35,-2,113,-1,-1,-1,-116,0,26,1,-91,1,45,2,-79,2,49,3,-87,3,30,4,-118,4,-19,4,76,5,-103,5,-20,5,34,6,94,6,-126,6,-91,6,-73,6,-63,6,-66,6,-78,6,-102,6,120,6,73,6,22,6,-44,5,-116,5,61,5,-30,4,-124,4,33,4,-81,3,72,3,-54,2,89,2,-38,1,91,1,-31,0,94,0,-29,-1,98,-1,-22,-2,108,-2,-7,-3,-126,-3,20,-3,-86,-4,62,-4,-30,-5,-122,-5,49,-5,-22,-6,-98,-6,102,-6,45,-6,1,-6,-33,-7,-63,-7,-78,-7,-89,-7,-87,-7,-76,-7,-56,-7,-26,-7,13,-6,63,-6,119,-6,-68,-6,6,-5,90,-5,-77,-5,29,-4,127,-4,-14,-4,101,-3,-37,-3,91,-2,-42,-2,89,-1,-40,-1,93,0,-37,0,93,1,-39,1,86,2,-56,2,62,3,-95,3,15,4,102,4,-66,4,15,5,80,5,-109,5,-59,5,-13,5,18,6,47,6,58,6,68,6,61,6,52,6,28,6,0,6,-40,5,-88,5,114,5,50,5,-21,4,-101,4,73,4,-19,3,-116,3,40,3,-74,2,78,2,-46,1,99,1,-33,0,102,0,-27,-1,101,-1,-22,-2,99,-2,-17,-3,108,-3,-7,-4,-126,-4,20,-4,-87,-5,73,-5,-22,-6,-105,-6,78,-6,9,-6,-38,-7,-90,-7,-117,-7,118,-7,105,-7,112,-7,123,-7,-104,-7,-67,-7,-17,-7,43,-6,112,-6,-62,-6,23,-5,124,-5,-33,-5,82,-4,-64,-4,60,-3,-72,-3,50,-2,-74,-2,48,-1,-79,-1,46,0,-89,0,35,1,-107,1,5,2,116,2,-41,2,59,3,-102,3,-23,3,61,4,-125,4,-60,4,0,5,50,5,95,5,-123,5,-95,5,-70,5,-55,5,-49,5,-46,5,-57,5,-69,5,-94,5,-124,5,92,5,47,5,-9,4,-70,4,116,4,38,4,-48,3,118,3,17,3,-81,2,59,2,-47,1}; }
	private static byte[] data9(){ return new byte[] {83,1,-31,0,96,0,-25,-1,101,-1,-25,-2,110,-2,-17,-3,126,-3,7,-3,-98,-4,53,-4,-41,-5,123,-5,47,-5,-27,-6,-87,-6,115,-6,73,-6,40,-6,20,-6,7,-6,6,-6,13,-6,32,-6,57,-6,94,-6,-119,-6,-68,-6,-7,-6,55,-5,-124,-5,-56,-5,38,-4,113,-4,-45,-4,46,-3,-113,-3,-10,-3,89,-2,-62,-2,45,-1,-102,-1,5,0,114,0,-36,0,76,1,-77,1,31,2,-121,2,-19,2,80,3,-80,3,12,4,99,4,-75,4,-4,4,70,5,124,5,-75,5,-35,5,1,6,20,6,42,6,33,6,35,6,4,6,-19,5,-67,5,-119,5,72,5,-3,4,-88,4,76,4,-29,3,123,3,2,3,-116,2,13,2,-116,1,16,1,-124,0,14,0,-126,-1,12,-1,-114,-2,23,-2,-88,-3,60,-3,-40,-4,119,-4,37,-4,-47,-5,-110,-5,80,-5,28,-5,-16,-6,-57,-6,-83,-6,-104,-6,-120,-6,-124,-6,-125,-6,-115,-6,-102,-6,-79,-6,-53,-6,-17,-6,20,-5,71,-5,114,-5,-73,-5,-21,-5,58,-4,124,-4,-48,-4,33,-3,123,-3,-40,-3,60,-2,-98,-2,10,-1,117,-1,-29,-1,86,0,-58,0,59,1,-88,1,25,2,-119,2,-20,2,91,3,-77,3,21,4,100,4,-77,4,-7,4,48,5,106,5,-121,5,-81,5,-70,5,-57,5,-58,5,-75,5,-92,5,127,5,89,5,37,5,-24,4,-88,4,92,4,16,4,-73,3,97,3,1,3,-93,2,61,2,-36,1,115,1,9,1,-86,0,58,0,-33,-1,116,-1,22,-1,-77,-2,87,-2,-7,-3,-92,-3,74,-3,-6,-4,-87,-4,90,-4,24,-4,-49,-5,-107,-5,88,-5,40,-5,-10,-6,-47,-6,-82,-6,-105,-6,-125,-6,123,-6,120,-6,-126,-6,-109,-6,-84,-6,-48,-6,0,-5,50,-5,123,-5,-69,-5,19,-4,108,-4,-52,-4,60,-3,-93,-3,29,-2,-109,-2,12,-1,-115,-1,8,0,-122,0,6,1,122,1,-10,1,105,2,-47,2,62,3,-107,3,-12,3,60,4,-121,4,-62,4,-11,4,34,5,63,5,90,5,101,5,111,5,103,5,95,5,72,5,47,5,13,5,-28,4,-74,4,-127,4,71,4,11,4,-61,3,-128,3,52,3,-27,2,-108,2,65,2,-24,1,-112,1,53,1,-44,0,121,0,17,0,-75,-1,81,-1,-19,-2,-112,-2,39,-2,-48,-3,108,-3,21,-3,-67,-4,103,-4,27,-4,-48,-5,-116,-5,80,-5,29,-5,-19,-6,-53,-6,-80,-6,-101,-6,-105,-6,-108,-6,-94,-6,-74,-6,-43,-6,-2,-6,44,-5,105,-5,-87,-5,-15,-5,68,-4,-107,-4,-12,-4,80,-3,-74,-3,24,-2,-124,-2,-22,-2,86,-1,-69,-1,39,0,-120,0,-18,0,76,1,-84,1,2,2,92,2,-88,2,-6,2,64,3,-127,3,-61,3,-9,3,44,4,90,4,-127,4,-91,4,-62,4,-41,4,-22,4,-12,4,-8,4,-9,4,-19,4,-35,4,-55,4,-89,4,-121,4,86,4,37,4,-21,3,-88,3,93,3,17,3,-73,2,97,2,-5,1,-102,1,47,1,-63,0,85,0,-31,-1,114,-1,-2,-2,-111,-2,27,-2,-71,-3,76,-3,-22,-4,-109,-4,54,-4,-19,-5,-91,-5,101,-5,50,-5,5,-5,-33,-6,-53,-6,-72,-6,-77,-6,-73,-6,-61,-6,-40,-6,-9,-6,29,-5,73,-5,-128,-5,-73,-5,-5,-5,64,-4,-115,-4,-39,-4,45,-3,-126,-3,-40,-3,53,-2,-115,-2,-20,-2,71,-1,-90,-1,4,0,98,0,-68,0,23,1,114,1,-60,1,33,2,107,2,-64,2,10,3,80,3,-104,3,-45,3,17,4,69,4,114,4,-100,4,-67,4,-43,4,-19,4,-15,4,-3,4,-16,4,-23,4,-49,4,-76,4,-116,4,97,4,41,4,-17,3,-89,3,99,3,12,3,-65,2,93,2,2,2,-94,1,59,1,-36,0,111,0,16,0,-90,-1,69,-1,-30,-2,-124,-2,39,-2,-47,-3,123,-3,44,-3,-28,-4,-97,-4,97,-4,42,-4,-9,-5,-52,-5,-88,-5,-120,-5,114,-5,93,-5,86,-5,77,-5,84,-5,88,-5,105,-5,125,-5,-104,-5,-72,-5,-32,-5,10,-4,65,-4,113,-4,-73,-4,-15,-4,64,-3,-123,-3,-39,-3,41,-2,-124,-2,-38,-2,60,-1,-106,-1,-6,-1,92,0,-66,0,34,1,-128,1,-31,1,61,2,-105,2,-20,2,64,3,-120,3,-46,3,17,4,73,4,126,4,-91,4,-54,4,-30,4,-15,4,-2,4,-9,4,-12,4,-35,4,-58,4,-95,4,121,4,69,4,13,4,-51,3,-120,3,62,3,-17,2,-101,2,68,2,-23,1,-113,1,47,1,-45,0,111,0,17,0,-79,-1,84,-1,-7,-2,-98,-2,74,-2,-16,-3,-87,-3,80,-3,22,-3,-58,-4,-113,-4,79,-4,33,-4,-17,-5,-54,-5,-91,-5,-115,-5,117,-5,107,-5,96,-5,97,-5,105,-5,117,-5,-118,-5,-88,-5,-59,-5,-10,-5,29,-4}; }
	private static byte[] data10(){ return new byte[] {88,-4,-111,-4,-46,-4,26,-3,96,-3,-75,-3,5,-2,94,-2,-77,-2,17,-1,106,-1,-54,-1,39,0,-127,0,-30,0,54,1,-107,1,-26,1,57,2,-116,2,-47,2,25,3,91,3,-114,3,-50,3,-15,3,34,4,62,4,92,4,109,4,-128,4,126,4,-122,4,119,4,110,4,86,4,58,4,29,4,-17,3,-55,3,-114,3,90,3,28,3,-39,2,-107,2,73,2,-1,1,-85,1,94,1,2,1,-77,0,85,0,1,0,-88,-1,75,-1,-8,-2,-97,-2,77,-2,-6,-3,-82,-3,94,-3,27,-3,-44,-4,-104,-4,94,-4,39,-4,-2,-5,-48,-5,-73,-5,-108,-5,-119,-5,117,-5,119,-5,116,-5,-126,-5,-113,-5,-87,-5,-55,-5,-17,-5,29,-4,78,-4,-118,-4,-59,-4,14,-3,84,-3,-93,-3,-12,-3,72,-2,-97,-2,-2,-2,85,-1,-76,-1,14,0,110,0,-58,0,36,1,120,1,-45,1,31,2,118,2,-71,2,5,3,69,3,-128,3,-73,3,-26,3,14,4,50,4,76,4,98,4,109,4,117,4,116,4,105,4,94,4,67,4,42,4,4,4,-36,3,-83,3,118,3,62,3,-2,2,-70,2,119,2,37,2,-34,1,-121,1,59,1,-28,0,-113,0,63,0,-30,-1,-106,-1,60,-1,-18,-2,-101,-2,76,-2,1,-2,-70,-3,117,-3,51,-3,-7,-4,-65,-4,-115,-4,95,-4,54,-4,20,-4,-9,-5,-32,-5,-50,-5,-58,-5,-65,-5,-58,-5,-55,-5,-32,-5,-16,-5,15,-4,49,-4,89,-4,-120,-4,-66,-4,-10,-4,50,-3,122,-3,-70,-3,11,-2,84,-2,-89,-2,-8,-2,77,-1,-93,-1,-5,-1,78,0,-89,0,-9,0,78,1,-102,1,-21,1,49,2,124,2,-70,2,-5,2,51,3,101,3,-106,3,-66,3,-34,3,-2,3,16,4,34,4,44,4,44,4,45,4,30,4,21,4,-8,3,-31,3,-66,3,-106,3,110,3,54,3,8,3,-58,2,-115,2,71,2,1,2,-70,1,108,1,26,1,-50,0,118,0,41,0,-48,-1,126,-1,42,-1,-42,-2,-122,-2,54,-2,-25,-3,-99,-3,85,-3,19,-3,-42,-4,-101,-4,105,-4,58,-4,18,-4,-14,-5,-41,-5,-59,-5,-72,-5,-75,-5,-74,-5,-62,-5,-43,-5,-21,-5,15,-4,50,-4,97,-4,-107,-4,-52,-4,12,-3,76,-3,-105,-3,-34,-3,46,-2,123,-2,-50,-2,31,-1,115,-1,-57,-1,24,0,106,0,-68,0,6,1,87,1,-97,1,-29,1,43,2,98,2,-92,2,-44,2,13,3,50,3,101,3,126,3,-91,3,-68,3,-49,3,-31,3,-24,3,-19,3,-19,3,-28,3,-38,3,-57,3,-81,3,-108,3,113,3,74,3,27,3,-19,2,-78,2,124,2,58,2,-8,1,-80,1,105,1,25,1,-50,0,124,0,37,0,-38,-1,-127,-1,52,-1,-33,-2,-107,-2,67,-2,-1,-3,-77,-3,118,-3,51,-3,-1,-4,-58,-4,-100,-4,112,-4,82,-4,51,-4,32,-4,17,-4,8,-4,10,-4,8,-4,28,-4,37,-4,66,-4,92,-4,126,-4,-89,-4,-48,-4,2,-3,51,-3,112,-3,-91,-3,-24,-3,37,-2,108,-2,-81,-2,-9,-2,61,-1,-120,-1,-47,-1,26,0,101,0,-81,0,-11,0,69,1,-127,1,-46,1,11,2,85,2,-117,2,-53,2,-2,2,51,3,95,3,-119,3,-82,3,-55,3,-27,3,-11,3,-1,3,9,4,-1,3,-4,3,-23,3,-46,3,-75,3,-114,3,102,3,49,3,-2,2,-67,2,124,2,55,2,-20,1,-95,1,78,1,1,1,-87,0,91,0,4,0,-76,-1,97,-1,14,-1,-56,-2,117,-2,57,-2,-21,-3,-73,-3,119,-3,74,-3,21,-3,-15,-4,-60,-4,-87,-4,-119,-4,111,-4,96,-4,78,-4,70,-4,68,-4,55,-4,68,-4,74,-4,97,-4,116,-4,-106,-4,-75,-4,-33,-4,10,-3,60,-3,113,-3,-85,-3,-26,-3,41,-2,106,-2,-82,-2,-5,-2,59,-1,-113,-1,-45,-1,36,0,105,0,-72,0,-4,0,70,1,-118,1,-52,1,12,2,74,2,127,2,-70,2,-27,2,19,3,60,3,88,3,124,3,-116,3,-92,3,-87,3,-74,3,-81,3,-80,3,-96,3,-111,3,122,3,93,3,60,3,22,3,-21,2,-69,2,-121,2,80,2,19,2,-42,1,-110,1,78,1,11,1,-64,0,122,0,49,0,-27,-1,-97,-1,85,-1,13,-1,-54,-2,-125,-2,67,-2,2,-2,-54,-3,-116,-3,97,-3,39,-3,5,-3,-41,-4,-70,-4,-100,-4,-123,-4,115,-4,103,-4,96,-4,97,-4,100,-4,113,-4,127,-4,-106,-4,-79,-4,-48,-4,-8,-4,29,-3,83,-3,126,-3,-68,-3,-17,-3,49,-2,109,-2,-78,-2,-10,-2,59,-1,-126,-1,-55,-1,18,0,90,0,-94,0,-24,0,43,1,113,1,-83,1,-17,1,37,2,96,2,-111,2,-62,2,-21,2,20,3,52,3,80,3,106,3,118,3,-119,3}; }
	private static byte[] data11(){ return new byte[] {-118,3,-113,3,-119,3,126,3,114,3,89,3,67,3,31,3,0,3,-46,2,-86,2,118,2,65,2,11,2,-52,1,-113,1,81,1,8,1,-55,0,127,0,60,0,-13,-1,-80,-1,100,-1,41,-1,-36,-2,-95,-2,95,-2,34,-2,-22,-3,-78,-3,127,-3,81,-3,38,-3,0,-3,-34,-4,-59,-4,-87,-4,-99,-4,-118,-4,-119,-4,-126,-4,-118,-4,-111,-4,-96,-4,-75,-4,-51,-4,-22,-4,16,-3,52,-3,98,-3,-111,-3,-59,-3,-5,-3,54,-2,116,-2,-77,-2,-11,-2,54,-1,125,-1,-68,-1,9,0,69,0,-109,0,-50,0,21,1,86,1,-109,1,-49,1,9,2,60,2,112,2,-98,2,-57,2,-19,2,14,3,41,3,68,3,80,3,100,3,101,3,106,3,104,3,92,3,83,3,58,3,39,3,7,3,-25,2,-65,2,-106,2,100,2,56,2,-6,1,-55,1,-119,1,75,1,16,1,-56,0,-117,0,69,0,-1,-1,-65,-1,120,-1,58,-1,-12,-2,-69,-2,119,-2,67,-2,5,-2,-43,-3,-96,-3,118,-3,73,-3,37,-3,5,-3,-27,-4,-43,-4,-68,-4,-76,-4,-87,-4,-89,-4,-84,-4,-79,-4,-63,-4,-48,-4,-22,-4,5,-3,38,-3,75,-3,116,-3,-96,-3,-43,-3,3,-2,66,-2,117,-2,-76,-2,-12,-2,52,-1,115,-1,-70,-1,-12,-1,64,0,121,0,-63,0,-5,0,62,1,119,1,-78,1,-22,1,31,2,78,2,124,2,-93,2,-53,2,-24,2,8,3,27,3,48,3,59,3,69,3,71,3,69,3,62,3,48,3,34,3,8,3,-16,2,-51,2,-84,2,-124,2,86,2,40,2,-13,1,-68,1,-120,1,71,1,15,1,-50,0,-114,0,79,0,13,0,-51,-1,-117,-1,77,-1,12,-1,-49,-2,-107,-2,91,-2,36,-2,-12,-3,-65,-3,-104,-3,107,-3,74,-3,38,-3,15,-3,-14,-4,-29,-4,-40,-4,-56,-4,-50,-4,-55,-4,-45,-4,-35,-4,-17,-4,1,-3,33,-3,59,-3,94,-3,-119,-3,-82,-3,-29,-3,16,-2,70,-2,126,-2,-74,-2,-13,-2,48,-1,108,-1,-80,-1,-20,-1,47,0,108,0,-84,0,-23,0,36,1,96,1,-106,1,-50,1,-3,1,48,2,88,2,-123,2,-90,2,-57,2,-28,2,-9,2,16,3,21,3,38,3,35,3,39,3,29,3,20,3,4,3,-18,2,-42,2,-71,2,-107,2,114,2,71,2,25,2,-21,1,-75,1,-127,1,70,1,14,1,-49,0,-105,0,83,0,27,0,-41,-1,-99,-1,93,-1,34,-1,-26,-2,-81,-2,116,-2,66,-2,15,-2,-33,-3,-73,-3,-116,-3,106,-3,75,-3,45,-3,25,-3,4,-3,-8,-4,-18,-4,-21,-4,-22,-4,-14,-4,-7,-4,12,-3,29,-3,54,-3,84,-3,114,-3,-103,-3,-64,-3,-20,-3,30,-2,77,-2,-123,-2,-72,-2,-11,-2,43,-1,107,-1,-92,-1,-28,-1,31,0,94,0,-102,0,-43,0,15,1,73,1,125,1,-80,1,-27,1,14,2,61,2,97,2,-122,2,-90,2,-64,2,-39,2,-23,2,-6,2,-1,2,8,3,4,3,1,3,-8,2,-27,2,-38,2,-70,2,-92,2,-125,2,92,2,58,2,12,2,-34,1,-81,1,121,1,70,1,13,1,-43,0,-104,0,97,0,30,0,-24,-1,-88,-1,111,-1,54,-1,-6,-2,-59,-2,-113,-2,92,-2,45,-2,-3,-3,-45,-3,-82,-3,-120,-3,109,-3,77,-3,58,-3,37,-3,25,-3,15,-3,9,-3,11,-3,13,-3,24,-3,37,-3,56,-3,77,-3,105,-3,-120,-3,-88,-3,-46,-3,-8,-3,39,-2,87,-2,-122,-2,-64,-2,-15,-2,46,-1,100,-1,-97,-1,-39,-1,21,0,77,0,-117,0,-64,0,-5,0,48,1,101,1,-106,1,-53,1,-16,1,32,2,67,2,102,2,-122,2,-95,2,-74,2,-53,2,-42,2,-28,2,-27,2,-23,2,-31,2,-36,2,-50,2,-69,2,-87,2,-118,2,113,2,77,2,39,2,1,2,-46,1,-89,1,115,1,65,1,14,1,-44,0,-98,0,102,0,41,0,-12,-1,-73,-1,127,-1,69,-1,17,-1,-38,-2,-91,-2,120,-2,67,-2,29,-2,-16,-3,-52,-3,-88,-3,-118,-3,111,-3,88,-3,71,-3,53,-3,49,-3,37,-3,43,-3,41,-3,51,-3,64,-3,78,-3,104,-3,123,-3,-98,-3,-72,-3,-29,-3,4,-2,51,-2,95,-2,-116,-2,-61,-2,-14,-2,41,-1,101,-1,-108,-1,-42,-1,6,0,67,0,121,0,-79,0,-26,0,29,1,75,1,-128,1,-85,1,-39,1,3,2,35,2,77,2,99,2,-124,2,-103,2,-89,2,-66,2,-66,2,-51,2,-57,2,-54,2,-68,2,-72,2,-97,2,-107,2,115,2,95,2,59,2,25,2,-11,1,-58,1,-95,1,108,1,64,1,9,1,-42,0,-93,0,104,0,55,0,-8,-1,-55,-1,-118,-1,94,-1,29,-1,-13,-2,-70,-2,-114,-2,96,-2,52,-2}; }
	private static byte[] data12(){ return new byte[] {13,-2,-23,-3,-60,-3,-86,-3,-116,-3,120,-3,102,-3,83,-3,79,-3,66,-3,71,-3,69,-3,79,-3,88,-3,104,-3,123,-3,-110,-3,-82,-3,-51,-3,-18,-3,21,-2,57,-2,107,-2,-110,-2,-58,-2,-11,-2,40,-1,95,-1,-113,-1,-52,-1,-3,-1,55,0,108,0,-98,0,-40,0,2,1,61,1,99,1,-104,1,-70,1,-23,1,7,2,46,2,73,2,100,2,122,2,-114,2,-103,2,-88,2,-86,2,-81,2,-84,2,-91,2,-101,2,-117,2,123,2,98,2,74,2,43,2,9,2,-24,1,-68,1,-104,1,102,1,60,1,9,1,-40,0,-93,0,112,0,59,0,5,0,-46,-1,-102,-1,106,-1,52,-1,2,-1,-43,-2,-94,-2,121,-2,77,-2,40,-2,2,-2,-29,-3,-61,-3,-83,-3,-110,-3,-124,-3,114,-3,104,-3,101,-3,92,-3,101,-3,101,-3,115,-3,127,-3,-112,-3,-87,-3,-66,-3,-34,-3,-2,-3,30,-2,72,-2,112,-2,-102,-2,-54,-2,-9,-2,40,-1,92,-1,-116,-1,-61,-1,-13,-1,43,0,93,0,-114,0,-58,0,-15,0,38,1,80,1,124,1,-89,1,-53,1,-17,1,18,2,42,2,75,2,91,2,113,2,127,2,-120,2,-110,2,-111,2,-109,2,-117,2,-124,2,116,2,102,2,77,2,58,2,24,2,-2,1,-41,1,-75,1,-116,1,97,1,55,1,7,1,-41,0,-87,0,115,0,67,0,15,0,-39,-1,-84,-1,116,-1,72,-1,19,-1,-23,-2,-72,-2,-111,-2,101,-2,67,-2,27,-2,1,-2,-36,-3,-54,-3,-82,-3,-98,-3,-111,-3,-126,-3,127,-3,123,-3,121,-3,-124,-3,-123,-3,-102,-3,-93,-3,-67,-3,-47,-3,-18,-3,12,-2,43,-2,85,-2,115,-2,-91,-2,-55,-2,-3,-2,39,-1,89,-1,-118,-1,-71,-1,-16,-1,28,0,82,0,-126,0,-80,0,-27,0,11,1,63,1,100,1,-113,1,-77,1,-42,1,-10,1,19,2,43,2,67,2,83,2,99,2,112,2,115,2,123,2,117,2,118,2,105,2,97,2,78,2,60,2,37,2,11,2,-20,1,-49,1,-88,1,-124,1,92,1,48,1,6,1,-41,0,-87,0,121,0,74,0,21,0,-23,-1,-76,-1,-124,-1,86,-1,39,-1,-8,-2,-47,-2,-94,-2,127,-2,89,-2,54,-2,23,-2,-5,-3,-31,-3,-52,-3,-71,-3,-87,-3,-95,-3,-106,-3,-107,-3,-108,-3,-103,-3,-96,-3,-84,-3,-70,-3,-49,-3,-30,-3,1,-2,23,-2,59,-2,91,-2,-127,-2,-88,-2,-47,-2,-5,-2,40,-1,88,-1,-125,-1,-74,-1,-28,-1,21,0,70,0,116,0,-92,0,-50,0,0,1,36,1,83,1,118,1,-101,1,-65,1,-36,1,-6,1,17,2,40,2,57,2,74,2,82,2,94,2,92,2,98,2,91,2,84,2,75,2,56,2,43,2,18,2,-3,1,-35,1,-62,1,-98,1,124,1,86,1,44,1,2,1,-41,0,-85,0,123,0,80,0,29,0,-15,-1,-64,-1,-109,-1,101,-1,55,-1,14,-1,-31,-2,-70,-2,-110,-2,113,-2,77,-2,49,-2,18,-2,-4,-3,-27,-3,-45,-3,-59,-3,-72,-3,-78,-3,-84,-3,-82,-3,-82,-3,-71,-3,-64,-3,-48,-3,-34,-3,-8,-3,10,-2,43,-2,67,-2,105,-2,-121,-2,-80,-2,-43,-2,-1,-2,40,-1,87,-1,-128,-1,-80,-1,-34,-1,10,0,58,0,105,0,-108,0,-64,0,-19,0,19,1,62,1,96,1,-122,1,-90,1,-60,1,-31,1,-9,1,16,2,33,2,45,2,61,2,65,2,71,2,73,2,66,2,65,2,51,2,40,2,23,2,1,2,-20,1,-48,1,-75,1,-108,1,117,1,75,1,42,1,0,1,-42,0,-82,0,124,0,84,0,38,0,-8,-1,-53,-1,-95,-1,110,-1,77,-1,24,-1,-8,-2,-51,-2,-88,-2,-121,-2,100,-2,71,-2,44,-2,19,-2,-2,-3,-20,-3,-35,-3,-45,-3,-56,-3,-57,-3,-62,-3,-56,-3,-53,-3,-41,-3,-30,-3,-13,-3,6,-2,28,-2,55,-2,79,-2,115,-2,-113,-2,-73,-2,-39,-2,2,-1,42,-1,86,-1,124,-1,-82,-1,-44,-1,5,0,46,0,93,0,-124,0,-77,0,-37,0,1,1,44,1,74,1,116,1,-116,1,-78,1,-61,1,-27,1,-13,1,9,2,23,2,34,2,41,2,50,2,46,2,48,2,41,2,31,2,21,2,3,2,-12,1,-38,1,-58,1,-91,1,-115,1,103,1,74,1,34,1,-3,0,-42,0,-85,0,-124,0,86,0,47,0,-2,-1,-42,-1,-86,-1,127,-1,86,-1,47,-1,3,-1,-29,-2,-69,-2,-100,-2,122,-2,95,-2,64,-2,46,-2,20,-2,4,-2,-9,-3,-27,-3,-25,-3,-41,-3,-34,-3,-37,-3,-32,-3,-19,-3,-13,-3,6,-2,22,-2,43,-2,68,-2,94,-2,122,-2,-102,-2,-67,-2,-35,-2,7,-1,41,-1,83,-1,-128,-1,-94,-1,-42,-1,-9,-1}; }
	private static byte[] data13(){ return new byte[] {40,0,81,0,119,0,-90,0,-56,0,-13,0,22,1,58,1,92,1,123,1,-104,1,-79,1,-53,1,-35,1,-14,1,-1,1,9,2,22,2,22,2,28,2,24,2,22,2,10,2,4,2,-17,1,-26,1,-54,1,-73,1,-98,1,125,1,103,1,59,1,34,1,-10,0,-42,0,-84,0,-124,0,93,0,49,0,8,0,-31,-1,-76,-1,-115,-1,101,-1,57,-1,27,-1,-17,-2,-46,-2,-85,-2,-109,-2,112,-2,92,-2,63,-2,47,-2,25,-2,14,-2,-1,-3,-8,-3,-12,-3,-18,-3,-14,-3,-10,-3,-3,-3,9,-2,21,-2,38,-2,57,-2,81,-2,106,-2,-122,-2,-95,-2,-60,-2,-29,-2,9,-1,46,-1,81,-1,124,-1,-95,-1,-53,-1,-9,-1,26,0,73,0,107,0,-103,0,-72,0,-27,0,1,1,44,1,68,1,105,1,-128,1,-98,1,-77,1,-56,1,-37,1,-25,1,-10,1,-4,1,3,2,6,2,3,2,1,2,-8,1,-15,1,-32,1,-44,1,-68,1,-85,1,-113,1,120,1,88,1,58,1,27,1,-12,0,-44,0,-86,0,-120,0,94,0,56,0,14,0,-23,-1,-66,-1,-103,-1,113,-1,74,-1,42,-1,0,-1,-29,-2,-64,-2,-92,-2,-121,-2,111,-2,85,-2,69,-2,47,-2,36,-2,22,-2,14,-2,8,-2,4,-2,8,-2,7,-2,18,-2,26,-2,35,-2,59,-2,68,-2,96,-2,115,-2,-112,-2,-87,-2,-51,-2,-25,-2,14,-1,45,-1,85,-1,118,-1,-94,-1,-59,-1,-19,-1,21,0,58,0,101,0,-121,0,-80,0,-48,0,-9,0,20,1,55,1,82,1,111,1,-120,1,-99,1,-76,1,-61,1,-44,1,-33,1,-26,1,-16,1,-18,1,-14,1,-19,1,-27,1,-31,1,-51,1,-57,1,-83,1,-99,1,-122,1,107,1,81,1,52,1,17,1,-10,0,-51,0,-80,0,-123,0,101,0,59,0,22,0,-18,-1,-55,-1,-93,-1,126,-1,88,-1,55,-1,17,-1,-12,-2,-44,-2,-75,-2,-99,-2,-128,-2,109,-2,87,-2,70,-2,56,-2,43,-2,35,-2,31,-2,22,-2,29,-2,24,-2,38,-2,42,-2,55,-2,69,-2,86,-2,106,-2,-127,-2,-104,-2,-75,-2,-50,-2,-15,-2,12,-1,52,-1,82,-1,122,-1,-102,-1,-61,-1,-25,-1,13,0,51,0,87,0,125,0,-97,0,-58,0,-31,0,10,1,32,1,68,1,89,1,118,1,-119,1,-98,1,-79,1,-69,1,-50,1,-49,1,-36,1,-37,1,-34,1,-39,1,-41,1,-54,1,-61,1,-77,1,-94,1,-110,1,120,1,99,1,72,1,43,1,17,1,-20,0,-48,0,-85,0,-118,0,100,0,66,0,26,0,-7,-1,-47,-1,-83,-1,-119,-1,101,-1,68,-1,34,-1,4,-1,-29,-2,-54,-2,-83,-2,-107,-2,-127,-2,105,-2,94,-2,72,-2,68,-2,51,-2,51,-2,45,-2,43,-2,49,-2,50,-2,61,-2,70,-2,84,-2,100,-2,119,-2,-117,-2,-93,-2,-68,-2,-41,-2,-11,-2,18,-1,51,-1,84,-1,118,-1,-100,-1,-68,-1,-29,-1,5,0,43,0,77,0,114,0,-108,0,-75,0,-42,0,-9,0,15,1,51,1,71,1,98,1,120,1,-119,1,-100,1,-85,1,-75,1,-64,1,-60,1,-52,1,-57,1,-53,1,-63,1,-67,1,-78,1,-92,1,-107,1,-124,1,111,1,89,1,64,1,37,1,10,1,-20,0,-54,0,-83,0,-120,0,104,0,69,0,32,0,-3,-1,-35,-1,-77,-1,-104,-1,112,-1,80,-1,51,-1,16,-1,-10,-2,-40,-2,-63,-2,-89,-2,-108,-2,125,-2,112,-2,94,-2,85,-2,73,-2,71,-2,60,-2,67,-2,60,-2,73,-2,74,-2,88,-2,96,-2,115,-2,-127,-2,-104,-2,-86,-2,-56,-2,-38,-2,-3,-2,21,-1,54,-1,84,-1,121,-1,-109,-1,-67,-1,-37,-1,0,0,35,0,69,0,100,0,-115,0,-92,0,-51,0,-30,0,6,1,28,1,57,1,79,1,99,1,122,1,-122,1,-102,1,-97,1,-79,1,-82,1,-69,1,-75,1,-72,1,-77,1,-85,1,-92,1,-107,1,-120,1,120,1,100,1,79,1,56,1,30,1,4,1,-24,0,-55,0,-86,0,-115,0,101,0,76,0,33,0,8,0,-34,-1,-61,-1,-100,-1,127,-1,92,-1,64,-1,32,-1,5,-1,-23,-2,-47,-2,-72,-2,-90,-2,-113,-2,-124,-2,112,-2,104,-2,93,-2,85,-2,84,-2,79,-2,84,-2,84,-2,93,-2,100,-2,113,-2,126,-2,-114,-2,-94,-2,-76,-2,-51,-2,-27,-2,-2,-2,29,-1,55,-1,86,-1,119,-1,-108,-1,-72,-1,-40,-1,-8,-1,27,0,60,0,91,0,127,0,-101,0,-68,0,-41,0,-10,0,13,1,40,1,61,1,83,1,102,1,118,1,-124,1,-111,1,-102,1,-96,1,-90,1,-91,1,-89,1,-94,1,-99,1,-110,1,-116,1,119,1,112,1,87,1,71,1,46,1,26,1}; }
	private static byte[] data14(){ return new byte[] {-4,0,-28,0,-56,0,-90,0,-114,0,105,0,75,0,45,0,5,0,-19,-1,-60,-1,-85,-1,-121,-1,105,-1,77,-1,45,-1,22,-1,-9,-2,-29,-2,-55,-2,-74,-2,-92,-2,-110,-2,-123,-2,120,-2,110,-2,106,-2,100,-2,96,-2,101,-2,98,-2,112,-2,111,-2,-127,-2,-119,-2,-100,-2,-86,-2,-64,-2,-44,-2,-21,-2,6,-1,29,-1,60,-1,86,-1,120,-1,-109,-1,-75,-1,-43,-1,-17,-1,25,0,47,0,87,0,112,0,-110,0,-83,0,-53,0,-26,0,-1,0,23,1,46,1,67,1,82,1,104,1,110,1,-125,1,-122,1,-113,1,-107,1,-108,1,-106,1,-108,1,-117,1,-119,1,119,1,114,1,95,1,79,1,63,1,36,1,21,1,-10,0,-33,0,-59,0,-91,0,-115,0,107,0,78,0,47,0,13,0,-14,-1,-49,-1,-79,-1,-109,-1,115,-1,89,-1,59,-1,34,-1,8,-1,-16,-2,-37,-2,-58,-2,-77,-2,-89,-2,-110,-2,-115,-2,127,-2,121,-2,118,-2,114,-2,113,-2,119,-2,121,-2,-126,-2,-117,-2,-104,-2,-92,-2,-72,-2,-58,-2,-34,-2,-14,-2,10,-1,35,-1,62,-1,88,-1,118,-1,-109,-1,-79,-1,-48,-1,-17,-1,12,0,46,0,73,0,106,0,-123,0,-94,0,-66,0,-40,0,-16,0,8,1,31,1,48,1,71,1,81,1,99,1,110,1,118,1,127,1,-124,1,-125,1,-119,1,-128,1,-127,1,119,1,110,1,99,1,85,1,68,1,53,1,31,1,11,1,-13,0,-38,0,-61,0,-93,0,-115,0,106,0,82,0,48,0,22,0,-12,-1,-40,-1,-70,-1,-100,-1,127,-1,102,-1,70,-1,48,-1,21,-1,1,-1,-25,-2,-39,-2,-64,-2,-71,-2,-92,-2,-101,-2,-110,-2,-120,-2,-120,-2,127,-2,-123,-2,-127,-2,-117,-2,-114,-2,-104,-2,-92,-2,-81,-2,-63,-2,-48,-2,-27,-2,-5,-2,12,-1,43,-1,61,-1,95,-1,115,-1,-108,-1,-83,-1,-49,-1,-25,-1,10,0,34,0,69,0,94,0,124,0,-104,0,-80,0,-51,0,-32,0,-4,0,13,1,36,1,51,1,68,1,82,1,93,1,103,1,110,1,116,1,117,1,119,1,116,1,113,1,106,1,99,1,85,1,75,1,59,1,42,1,24,1,5,1,-20,0,-40,0,-67,0,-92,0,-117,0,110,0,81,0,53,0,24,0,-5,-1,-33,-1,-63,-1,-91,-1,-118,-1,110,-1,84,-1,62,-1,33,-1,15,-1,-8,-2,-28,-2,-43,-2,-61,-2,-74,-2,-83,-2,-98,-2,-99,-2,-111,-2,-107,-2,-113,-2,-109,-2,-104,-2,-102,-2,-89,-2,-83,-2,-67,-2,-56,-2,-36,-2,-23,-2,3,-1,18,-1,45,-1,66,-1,95,-1,116,-1,-106,-1,-88,-1,-49,-1,-32,-1,6,0,27,0,61,0,85,0,114,0,-115,0,-91,0,-65,0,-42,0,-19,0,-1,0,21,1,35,1,54,1,65,1,78,1,87,1,93,1,102,1,100,1,107,1,100,1,100,1,93,1,84,1,77,1,63,1,48,1,37,1,11,1,2,1,-28,0,-42,0,-73,0,-91,0,-122,0,114,0,81,0,58,0,28,0,-1,-1,-26,-1,-55,-1,-85,-1,-105,-1,116,-1,100,-1,69,-1,49,-1,27,-1,5,-1,-10,-2,-32,-2,-42,-2,-62,-2,-67,-2,-82,-2,-85,-2,-93,-2,-95,-2,-97,-2,-95,-2,-92,-2,-87,-2,-79,-2,-69,-2,-59,-2,-44,-2,-29,-2,-14,-2,9,-1,24,-1,49,-1,71,-1,94,-1,119,-1,-110,-1,-85,-1,-56,-1,-31,-1,-3,-1,25,0,51,0,78,0,105,0,-127,0,-100,0,-78,0,-54,0,-33,0,-14,0,7,1,22,1,37,1,52,1,61,1,74,1,78,1,85,1,89,1,88,1,90,1,85,1,80,1,75,1,61,1,56,1,37,1,28,1,7,1,-9,0,-29,0,-50,0,-74,0,-94,0,-123,0,114,0,82,0,62,0,30,0,6,0,-21,-1,-48,-1,-74,-1,-99,-1,-127,-1,107,-1,83,-1,60,-1,39,-1,21,-1,0,-1,-15,-2,-29,-2,-46,-2,-53,-2,-67,-2,-70,-2,-79,-2,-81,-2,-82,-2,-83,-2,-78,-2,-75,-2,-67,-2,-59,-2,-47,-2,-36,-2,-22,-2,-3,-2,11,-1,34,-1,51,-1,75,-1,96,-1,121,-1,-112,-1,-84,-1,-63,-1,-30,-1,-11,-1,21,0,43,0,72,0,95,0,121,0,-111,0,-90,0,-65,0,-46,0,-26,0,-8,0,8,1,24,1,36,1,50,1,56,1,66,1,70,1,74,1,77,1,74,1,74,1,67,1,63,1,52,1,44,1,29,1,18,1,0,1,-15,0,-35,0,-55,0,-74,0,-100,0,-119,0,108,0,88,0,60,0,36,0,10,0,-16,-1,-42,-1,-65,-1,-95,-1,-111,-1,111,-1,100,-1,66,-1,56,-1,29,-1,17,-1,-4,-2,-15,-2,-32,-2,-38,-2,-53,-2,-56,-2,-66,-2,-66,-2,-69,-2,-69,-2,-66,-2}; }
	private static byte[] data15(){ return new byte[] {-63,-2,-56,-2,-46,-2,-41,-2,-23,-2,-15,-2,5,-1,16,-1,40,-1,54,-1,81,-1,96,-1,125,-1,-114,-1,-85,-1,-62,-1,-39,-1,-9,-1,10,0,40,0,63,0,88,0,112,0,-122,0,-98,0,-78,0,-57,0,-38,0,-23,0,-2,0,7,1,26,1,31,1,46,1,50,1,57,1,62,1,60,1,65,1,58,1,58,1,49,1,44,1,32,1,22,1,8,1,-7,0,-21,0,-41,0,-59,0,-79,0,-99,0,-125,0,114,0,85,0,64,0,40,0,10,0,-7,-1,-39,-1,-56,-1,-87,-1,-106,-1,126,-1,104,-1,83,-1,64,-1,44,-1,27,-1,11,-1,-3,-2,-17,-2,-27,-2,-38,-2,-42,-2,-52,-2,-53,-2,-57,-2,-57,-2,-51,-2,-54,-2,-42,-2,-40,-2,-26,-2,-18,-2,-5,-2,11,-1,24,-1,44,-1,60,-1,81,-1,101,-1,123,-1,-109,-1,-89,-1,-63,-1,-40,-1,-17,-1,10,0,31,0,57,0,80,0,102,0,126,0,-111,0,-85,0,-71,0,-50,0,-33,0,-17,0,-3,0,10,1,20,1,30,1,39,1,43,1,48,1,50,1,48,1,51,1,42,1,42,1,31,1,23,1,13,1,1,1,-15,0,-27,0,-46,0,-65,0,-80,0,-106,0,-121,0,109,0,89,0,64,0,42,0,17,0,-5,-1,-30,-1,-52,-1,-79,-1,-96,-1,-124,-1,116,-1,93,-1,74,-1,56,-1,39,-1,23,-1,11,-1,-5,-2,-14,-2,-23,-2,-34,-2,-33,-2,-46,-2,-39,-2,-48,-2,-39,-2,-42,-2,-32,-2,-28,-2,-19,-2,-8,-2,4,-1,16,-1,34,-1,46,-1,67,-1,83,-1,105,-1,124,-1,-111,-1,-87,-1,-66,-1,-42,-1,-20,-1,4,0,27,0,50,0,74,0,92,0,120,0,-122,0,-96,0,-81,0,-62,0,-43,0,-31,0,-14,0,-3,0,7,1,19,1,24,1,32,1,34,1,38,1,38,1,36,1,35,1,27,1,24,1,13,1,4,1,-8,0,-19,0,-36,0,-50,0,-68,0,-86,0,-104,0,-127,0,111,0,87,0,68,0,42,0,22,0,-2,-1,-24,-1,-46,-1,-70,-1,-91,-1,-113,-1,124,-1,103,-1,85,-1,66,-1,50,-1,37,-1,20,-1,11,-1,-5,-2,-8,-2,-22,-2,-21,-2,-32,-2,-30,-2,-33,-2,-30,-2,-29,-2,-23,-2,-18,-2,-9,-2,0,-1,11,-1,24,-1,39,-1,52,-1,71,-1,87,-1,107,-1,125,-1,-108,-1,-91,-1,-64,-1,-48,-1,-22,-1,1,0,20,0,47,0,63,0,90,0,106,0,-125,0,-111,0,-87,0,-75,0,-54,0,-43,0,-25,0,-17,0,-3,0,5,1,12,1,20,1,21,1,27,1,27,1,23,1,26,1,15,1,16,1,2,1,-3,0,-15,0,-29,0,-39,0,-58,0,-71,0,-89,0,-109,0,-125,0,107,0,92,0,64,0,48,0,24,0,1,0,-17,-1,-44,-1,-60,-1,-86,-1,-102,-1,-126,-1,115,-1,92,-1,80,-1,59,-1,48,-1,32,-1,20,-1,13,-1,-3,-2,-3,-2,-16,-2,-15,-2,-20,-2,-21,-2,-20,-2,-17,-2,-15,-2,-6,-2,-2,-2,10,-1,18,-1,31,-1,43,-1,60,-1,73,-1,92,-1,109,-1,-128,-1,-110,-1,-86,-1,-71,-1,-45,-1,-27,-1,-4,-1,17,0,38,0,59,0,81,0,100,0,120,0,-117,0,-101,0,-80,0,-69,0,-50,0,-40,0,-27,0,-14,0,-10,0,5,1,4,1,13,1,13,1,15,1,15,1,13,1,9,1,1,1,-2,0,-14,0,-22,0,-33,0,-50,0,-58,0,-80,0,-90,0,-113,0,-125,0,105,0,92,0,66,0,49,0,28,0,5,0,-14,-1,-36,-1,-58,-1,-75,-1,-98,-1,-115,-1,122,-1,103,-1,89,-1,71,-1,57,-1,46,-1,30,-1,22,-1,14,-1,1,-1,4,-1,-11,-2,-4,-2,-12,-2,-9,-2,-8,-2,-2,-2,0,-1,11,-1,13,-1,30,-1,35,-1,52,-1,62,-1,80,-1,93,-1,114,-1,126,-1,-105,-1,-90,-1,-69,-1,-48,-1,-30,-1,-6,-1,12,0,33,0,54,0,71,0,97,0,107,0,-122,0,-111,0,-91,0,-77,0,-63,0,-49,0,-37,0,-29,0,-16,0,-12,0,-4,0,0,1,3,1,4,1,5,1,2,1,-2,0,-5,0,-13,0,-22,0,-27,0,-44,0,-51,0,-67,0,-81,0,-96,0,-113,0,125,0,108,0,88,0,71,0,48,0,32,0,7,0,-8,-1,-33,-1,-49,-1,-71,-1,-90,-1,-107,-1,-127,-1,113,-1,98,-1,81,-1,68,-1,54,-1,44,-1,31,-1,26,-1,14,-1,11,-1,4,-1,4,-1,-1,-2,3,-1,1,-1,6,-1,11,-1,17,-1,24,-1,35,-1,41,-1,59,-1,68,-1,83,-1,98,-1,114,-1,-124,-1,-108,-1,-88,-1,-71,-1,-51,-1,-29,-1,-14,-1,12,0,26,0,49,0,66,0,87,0,103,0,123,0,-119,0,-100,0,-88,0,-71,0,-61,0,-48,0}; }
	private static byte[] data16(){ return new byte[] {-37,0,-30,0,-19,0,-19,0,-8,0,-9,0,-6,0,-4,0,-11,0,-8,0,-15,0,-24,0,-24,0,-41,0,-45,0,-60,0,-72,0,-84,0,-101,0,-114,0,122,0,108,0,88,0,70,0,51,0,31,0,15,0,-9,-1,-23,-1,-48,-1,-61,-1,-86,-1,-97,-1,-120,-1,123,-1,107,-1,89,-1,79,-1,63,-1,55,-1,42,-1,36,-1,25,-1,22,-1,14,-1,15,-1,9,-1,13,-1,10,-1,18,-1,16,-1,29,-1,28,-1,44,-1,48,-1,64,-1,72,-1,90,-1,98,-1,121,-1,-126,-1,-104,-1,-89,-1,-71,-1,-50,-1,-36,-1,-11,-1,0,0,28,0,41,0,62,0,78,0,98,0,112,0,-123,0,-113,0,-94,0,-84,0,-69,0,-58,0,-50,0,-36,0,-35,0,-24,0,-22,0,-18,0,-15,0,-17,0,-16,0,-20,0,-24,0,-28,0,-38,0,-42,0,-56,0,-63,0,-77,0,-91,0,-101,0,-120,0,122,0,107,0,86,0,72,0,53,0,31,0,20,0,-8,-1,-17,-1,-43,-1,-57,-1,-77,-1,-92,-1,-112,-1,-122,-1,110,-1,104,-1,84,-1,76,-1,63,-1,53,-1,45,-1,36,-1,32,-1,25,-1,25,-1,18,-1,24,-1,18,-1,27,-1,26,-1,34,-1,40,-1,47,-1,58,-1,66,-1,81,-1,89,-1,107,-1,119,-1,-121,-1,-103,-1,-91,-1,-68,-1,-55,-1,-33,-1,-19,-1,2,0,19,0,39,0,54,0,73,0,91,0,105,0,124,0,-120,0,-103,0,-93,0,-78,0,-69,0,-58,0,-48,0,-44,0,-34,0,-34,0,-25,0,-27,0,-24,0,-28,0,-26,0,-36,0,-32,0,-47,0,-50,0,-59,0,-73,0,-78,0,-96,0,-106,0,-122,0,120,0,104,0,88,0,72,0,52,0,38,0,16,0,2,0,-18,-1,-37,-1,-50,-1,-74,-1,-82,-1,-107,-1,-116,-1,121,-1,110,-1,96,-1,84,-1,73,-1,61,-1,56,-1,47,-1,40,-1,37,-1,32,-1,30,-1,31,-1,29,-1,35,-1,33,-1,45,-1,43,-1,58,-1,60,-1,75,-1,83,-1,96,-1,109,-1,122,-1,-119,-1,-103,-1,-89,-1,-70,-1,-54,-1,-37,-1,-20,-1,-2,-1,17,0,31,0,53,0,64,0,86,0,97,0,116,0,-126,0,-114,0,-99,0,-89,0,-78,0,-65,0,-63,0,-47,0,-50,0,-38,0,-39,0,-34,0,-35,0,-34,0,-38,0,-41,0,-42,0,-54,0,-55,0,-67,0,-77,0,-84,0,-100,0,-108,0,-127,0,121,0,99,0,90,0,70,0,54,0,39,0,19,0,5,0,-15,-1,-30,-1,-48,-1,-63,-1,-82,-1,-95,-1,-113,-1,-123,-1,114,-1,108,-1,90,-1,82,-1,75,-1,59,-1,61,-1,47,-1,47,-1,42,-1,38,-1,41,-1,38,-1,41,-1,44,-1,49,-1,54,-1,61,-1,69,-1,77,-1,91,-1,99,-1,112,-1,125,-1,-116,-1,-103,-1,-85,-1,-73,-1,-54,-1,-40,-1,-20,-1,-6,-1,13,0,28,0,46,0,61,0,78,0,92,0,107,0,123,0,-123,0,-106,0,-99,0,-85,0,-78,0,-67,0,-62,0,-53,0,-52,0,-45,0,-45,0,-42,0,-45,0,-44,0,-48,0,-53,0,-56,0,-67,0,-69,0,-84,0,-89,0,-103,0,-114,0,-126,0,115,0,102,0,86,0,71,0,55,0,39,0,24,0,5,0,-10,-1,-26,-1,-44,-1,-57,-1,-76,-1,-89,-1,-103,-1,-120,-1,127,-1,109,-1,104,-1,89,-1,81,-1,74,-1,64,-1,60,-1,54,-1,51,-1,49,-1,48,-1,46,-1,50,-1,51,-1,58,-1,59,-1,69,-1,73,-1,85,-1,93,-1,104,-1,116,-1,127,-1,-112,-1,-104,-1,-83,-1,-74,-1,-53,-1,-41,-1,-24,-1,-7,-1,7,0,26,0,39,0,58,0,71,0,86,0,102,0,113,0,-128,0,-117,0,-104,0,-96,0,-85,0,-77,0,-71,0,-62,0,-60,0,-55,0,-53,0,-52,0,-50,0,-55,0,-54,0,-61,0,-64,0,-70,0,-79,0,-84,0,-99,0,-103,0,-121,0,-127,0,112,0,102,0,84,0,71,0,58,0,37,0,29,0,6,0,-7,-1,-21,-1,-41,-1,-51,-1,-70,-1,-84,-1,-96,-1,-113,-1,-121,-1,118,-1,111,-1,97,-1,91,-1,80,-1,76,-1,65,-1,67,-1,56,-1,60,-1,54,-1,57,-1,55,-1,62,-1,60,-1,70,-1,73,-1,81,-1,89,-1,98,-1,107,-1,121,-1,-127,-1,-110,-1,-103,-1,-82,-1,-72,-1,-57,-1,-38,-1,-31,-1,-5,-1,2,0,22,0,37,0,49,0,67,0,82,0,91,0,111,0,118,0,-123,0,-113,0,-102,0,-96,0,-83,0,-80,0,-72,0,-67,0,-65,0,-60,0,-61,0,-58,0,-63,0,-61,0,-68,0,-70,0,-78,0,-82,0,-93,0,-98,0,-113,0,-118,0,119,0,117,0,93,0,89,0,69,0,56,0,43,0,24,0,14,0,-5,-1,-18,-1,-35,-1,-50,-1}; }
	private static byte[] data17(){ return new byte[] {-62,-1,-79,-1,-89,-1,-107,-1,-115,-1,-128,-1,115,-1,109,-1,96,-1,91,-1,82,-1,76,-1,72,-1,67,-1,67,-1,62,-1,65,-1,64,-1,66,-1,71,-1,72,-1,83,-1,83,-1,97,-1,101,-1,113,-1,122,-1,-121,-1,-112,-1,-95,-1,-87,-1,-70,-1,-56,-1,-43,-1,-25,-1,-15,-1,4,0,16,0,33,0,46,0,61,0,76,0,85,0,106,0,107,0,-126,0,-124,0,-108,0,-103,0,-93,0,-87,0,-80,0,-77,0,-70,0,-72,0,-64,0,-72,0,-64,0,-74,0,-70,0,-80,0,-81,0,-91,0,-95,0,-106,0,-113,0,-126,0,123,0,107,0,99,0,82,0,72,0,55,0,43,0,29,0,13,0,-1,-1,-16,-1,-29,-1,-47,-1,-54,-1,-77,-1,-82,-1,-99,-1,-111,-1,-120,-1,123,-1,115,-1,105,-1,98,-1,91,-1,83,-1,81,-1,75,-1,73,-1,73,-1,69,-1,74,-1,71,-1,79,-1,80,-1,85,-1,93,-1,97,-1,109,-1,116,-1,125,-1,-117,-1,-112,-1,-91,-1,-89,-1,-65,-1,-61,-1,-41,-1,-29,-1,-16,-1,1,0,14,0,28,0,43,0,55,0,71,0,80,0,99,0,101,0,124,0,123,0,-114,0,-112,0,-100,0,-95,0,-87,0,-86,0,-77,0,-80,0,-72,0,-78,0,-73,0,-79,0,-79,0,-83,0,-90,0,-94,0,-102,0,-109,0,-118,0,-128,0,118,0,107,0,95,0,84,0,69,0,57,0,44,0,28,0,17,0,2,0,-14,-1,-26,-1,-40,-1,-54,-1,-66,-1,-80,-1,-92,-1,-104,-1,-114,-1,-125,-1,120,-1,116,-1,102,-1,100,-1,92,-1,87,-1,85,-1,79,-1,81,-1,76,-1,83,-1,76,-1,87,-1,84,-1,93,-1,97,-1,104,-1,111,-1,121,-1,127,-1,-114,-1,-107,-1,-94,-1,-83,-1,-69,-1,-57,-1,-44,-1,-31,-1,-15,-1,-5,-1,14,0,21,0,40,0,52,0,62,0,80,0,87,0,101,0,112,0,121,0,-125,0,-116,0,-110,0,-102,0,-94,0,-93,0,-86,0,-86,0,-83,0,-80,0,-85,0,-81,0,-88,0,-90,0,-94,0,-100,0,-107,0,-111,0,-126,0,-127,0,111,0,108,0,91,0,83,0,70,0,56,0,45,0,30,0,18,0,4,0,-11,-1,-22,-1,-36,-1,-50,-1,-61,-1,-75,-1,-88,-1,-93,-1,-113,-1,-114,-1,126,-1,122,-1,111,-1,106,-1,100,-1,94,-1,93,-1,86,-1,88,-1,84,-1,87,-1,87,-1,88,-1,95,-1,95,-1,104,-1,108,-1,115,-1,126,-1,-125,-1,-113,-1,-104,-1,-93,-1,-80,-1,-70,-1,-57,-1,-44,-1,-32,-1,-17,-1,-6,-1,9,0,21,0,34,0,47,0,60,0,71,0,84,0,95,0,103,0,118,0,122,0,-123,0,-115,0,-111,0,-101,0,-100,0,-94,0,-92,0,-90,0,-89,0,-88,0,-91,0,-92,0,-97,0,-98,0,-108,0,-107,0,-121,0,-124,0,121,0,112,0,103,0,92,0,80,0,69,0,57,0,44,0,33,0,19,0,6,0,-6,-1,-21,-1,-32,-1,-45,-1,-58,-1,-68,-1,-82,-1,-90,-1,-104,-1,-110,-1,-123,-1,-127,-1,118,-1,114,-1,105,-1,105,-1,94,-1,99,-1,91,-1,93,-1,93,-1,93,-1,95,-1,100,-1,101,-1,108,-1,114,-1,119,-1,-127,-1,-121,-1,-111,-1,-101,-1,-92,-1,-78,-1,-70,-1,-57,-1,-44,-1,-34,-1,-18,-1,-9,-1,8,0,16,0,33,0,41,0,56,0,67,0,77,0,91,0,96,0,112,0,114,0,-126,0,-126,0,-114,0,-111,0,-106,0,-100,0,-101,0,-94,0,-98,0,-93,0,-100,0,-95,0,-104,0,-104,0,-110,0,-116,0,-122,0,127,0,118,0,109,0,102,0,89,0,79,0,69,0,56,0,45,0,34,0,19,0,9,0,-5,-1,-17,-1,-27,-1,-43,-1,-51,-1,-66,-1,-75,-1,-85,-1,-99,-1,-103,-1,-116,-1,-123,-1,-128,-1,117,-1,116,-1,106,-1,109,-1,98,-1,103,-1,97,-1,99,-1,101,-1,100,-1,105,-1,107,-1,112,-1,120,-1,122,-1,-122,-1,-120,-1,-106,-1,-100,-1,-88,-1,-79,-1,-69,-1,-55,-1,-47,-1,-32,-1,-22,-1,-9,-1,3,0,15,0,27,0,40,0,51,0,61,0,75,0,81,0,96,0,100,0,114,0,117,0,-126,0,-126,0,-114,0,-115,0,-106,0,-108,0,-100,0,-105,0,-99,0,-105,0,-103,0,-108,0,-110,0,-114,0,-121,0,-127,0,125,0,112,0,111,0,94,0,90,0,78,0,67,0,58,0,44,0,35,0,21,0,9,0,0,0,-17,-1,-21,-1,-42,-1,-45,-1,-63,-1,-69,-1,-80,-1,-93,-1,-97,-1,-111,-1,-115,-1,-123,-1,123,-1,123,-1,114,-1,113,-1,107,-1,107,-1,106,-1,103,-1,108,-1,105,-1,110,-1,116,-1,112,-1,-128,-1,123,-1,-117,-1,-116,-1,-104,-1,-98,-1,-86,-1,-80,-1,-64,-1}; }
	private static byte[] data18(){ return new byte[] {-59,-1,-44,-1,-34,-1,-24,-1,-8,-1,-2,-1,15,0,22,0,36,0,47,0,59,0,67,0,79,0,88,0,96,0,107,0,113,0,120,0,-127,0,-127,0,-116,0,-117,0,-109,0,-112,0,-106,0,-111,0,-105,0,-113,0,-110,0,-117,0,-119,0,-124,0,124,0,122,0,110,0,105,0,96,0,84,0,80,0,65,0,57,0,46,0,33,0,24,0,12,0,-1,-1,-10,-1,-23,-1,-35,-1,-44,-1,-56,-1,-66,-1,-75,-1,-86,-1,-95,-1,-102,-1,-111,-1,-117,-1,-124,-1,127,-1,121,-1,118,-1,116,-1,110,-1,115,-1,108,-1,113,-1,112,-1,115,-1,117,-1,124,-1,125,-1,-123,-1,-117,-1,-113,-1,-99,-1,-98,-1,-83,-1,-78,-1,-66,-1,-56,-1,-46,-1,-34,-1,-25,-1,-11,-1,-3,-1,12,0,20,0,33,0,42,0,54,0,64,0,73,0,84,0,91,0,100,0,109,0,112,0,124,0,124,0,-124,0,-120,0,-120,0,-114,0,-115,0,-114,0,-113,0,-116,0,-118,0,-120,0,-125,0,-127,0,120,0,117,0,108,0,102,0,93,0,85,0,75,0,67,0,54,0,48,0,32,0,27,0,11,0,5,0,-12,-1,-17,-1,-33,-1,-38,-1,-54,-1,-61,-1,-72,-1,-81,-1,-86,-1,-100,-1,-104,-1,-113,-1,-117,-1,-123,-1,-127,-1,122,-1,121,-1,120,-1,115,-1,120,-1,113,-1,122,-1,117,-1,125,-1,125,-1,-125,-1,-119,-1,-115,-1,-106,-1,-102,-1,-90,-1,-86,-1,-73,-1,-67,-1,-55,-1,-47,-1,-32,-1,-29,-1,-9,-1,-9,-1,13,0,14,0,33,0,36,0,53,0,56,0,73,0,73,0,91,0,92,0,103,0,110,0,112,0,125,0,120,0,-122,0,-127,0,-120,0,-121,0,-119,0,-121,0,-119,0,-122,0,-128,0,-125,0,119,0,121,0,111,0,105,0,102,0,87,0,88,0,69,0,69,0,53,0,47,0,35,0,25,0,15,0,3,0,-5,-1,-18,-1,-27,-1,-38,-1,-48,-1,-57,-1,-66,-1,-77,-1,-83,-1,-94,-1,-97,-1,-109,-1,-109,-1,-121,-1,-119,-1,127,-1,-127,-1,123,-1,124,-1,122,-1,121,-1,125,-1,124,-1,-127,-1,-126,-1,-122,-1,-114,-1,-113,-1,-101,-1,-100,-1,-89,-1,-83,-1,-72,-1,-66,-1,-53,-1,-48,-1,-34,-1,-27,-1,-14,-1,-6,-1,6,0,15,0,28,0,34,0,47,0,55,0,65,0,73,0,84,0,86,0,99,0,103,0,108,0,117,0,118,0,123,0,-128,0,-128,0,-127,0,-122,0,127,0,-122,0,126,0,-128,0,121,0,120,0,114,0,109,0,103,0,95,0,89,0,83,0,70,0,68,0,50,0,50,0,34,0,26,0,17,0,4,0,-2,-1,-17,-1,-23,-1,-35,-1,-45,-1,-52,-1,-64,-1,-69,-1,-82,-1,-84,-1,-98,-1,-98,-1,-108,-1,-112,-1,-116,-1,-122,-1,-122,-1,-127,-1,-128,-1,-127,-1,126,-1,-127,-1,-126,-1,-125,-1,-119,-1,-118,-1,-112,-1,-108,-1,-101,-1,-94,-1,-89,-1,-80,-1,-71,-1,-67,-1,-50,-1,-50,-1,-32,-1,-30,-1,-13,-1,-10,-1,6,0,12,0,24,0,32,0,43,0,51,0,61,0,69,0,76,0,87,0,90,0,100,0,102,0,110,0,114,0,119,0,119,0,126,0,122,0,-128,0,125,0,126,0,123,0,122,0,118,0,117,0,108,0,108,0,97,0,96,0,85,0,80,0,71,0,62,0,57,0,43,0,38,0,25,0,18,0,8,0,-3,-1,-13,-1,-20,-1,-34,-1,-38,-1,-52,-1,-58,-1,-66,-1,-76,-1,-81,-1,-91,-1,-95,-1,-101,-1,-108,-1,-109,-1,-117,-1,-119,-1,-119,-1,-124,-1,-121,-1,-125,-1,-123,-1,-120,-1,-123,-1,-111,-1,-118,-1,-106,-1,-104,-1,-101,-1,-89,-1,-87,-1,-79,-1,-69,-1,-65,-1,-52,-1,-46,-1,-37,-1,-26,-1,-18,-1,-7,-1,1,0,11,0,20,0,31,0,39,0,48,0,56,0,65,0,72,0,81,0,86,0,94,0,99,0,103,0,111,0,110,0,117,0,118,0,119,0,122,0,121,0,119,0,121,0,116,0,115,0,112,0,105,0,104,0,97,0,90,0,86,0,76,0,71,0,62,0,54,0,44,0,39,0,24,0,21,0,7,0,-1,-1,-8,-1,-21,-1,-27,-1,-38,-1,-47,-1,-54,-1,-64,-1,-68,-1,-81,-1,-82,-1,-93,-1,-96,-1,-101,-1,-107,-1,-109,-1,-115,-1,-113,-1,-120,-1,-117,-1,-118,-1,-120,-1,-114,-1,-118,-1,-111,-1,-110,-1,-105,-1,-100,-1,-96,-1,-90,-1,-82,-1,-80,-1,-64,-1,-67,-1,-49,-1,-48,-1,-36,-1,-26,-1,-21,-1,-7,-1,-3,-1,12,0,16,0,29,0,35,0,44,0,54,0,59,0,71,0,74,0,83,0,88,0,93,0,102,0,101,0,110,0,108,0,116,0,112,0,118,0,115,0,116,0,115,0,114,0,108,0,110,0}; }
	private static byte[] data19(){ return new byte[] {101,0,101,0,93,0,90,0,80,0,78,0,66,0,64,0,51,0,47,0,35,0,27,0,22,0,6,0,5,0,-11,-1,-16,-1,-25,-1,-36,-1,-42,-1,-50,-1,-61,-1,-64,-1,-77,-1,-76,-1,-90,-1,-89,-1,-99,-1,-99,-1,-107,-1,-106,-1,-113,-1,-111,-1,-114,-1,-113,-1,-115,-1,-111,-1,-112,-1,-108,-1,-106,-1,-102,-1,-97,-1,-93,-1,-87,-1,-82,-1,-73,-1,-70,-1,-59,-1,-54,-1,-45,-1,-34,-1,-31,-1,-17,-1,-14,-1,2,0,4,0,17,0,25,0,31,0,44,0,47,0,59,0,63,0,73,0,76,0,85,0,91,0,92,0,100,0,102,0,106,0,109,0,109,0,112,0,110,0,114,0,107,0,113,0,103,0,106,0,99,0,97,0,91,0,85,0,82,0,72,0,69,0,59,0,52,0,45,0,37,0,28,0,20,0,12,0,1,0,-5,-1,-15,-1,-25,-1,-28,-1,-44,-1,-44,-1,-57,-1,-63,-1,-68,-1,-78,-1,-80,-1,-87,-1,-93,-1,-97,-1,-100,-1,-103,-1,-106,-1,-107,-1,-110,-1,-110,-1,-107,-1,-110,-1,-106,-1,-105,-1,-102,-1,-98,-1,-95,-1,-90,-1,-84,-1,-80,-1,-72,-1,-67,-1,-61,-1,-49,-1,-48,-1,-33,-1,-31,-1,-18,-1,-14,-1,-1,-1,3,0,16,0,21,0,29,0,40,0,45,0,53,0,63,0,64,0,77,0,77,0,87,0,88,0,97,0,95,0,103,0,102,0,107,0,106,0,108,0,105,0,109,0,103,0,105,0,99,0,95,0,97,0,85,0,87,0,75,0,74,0,64,0,61,0,49,0,47,0,35,0,29,0,20,0,12,0,5,0,-5,-1,-12,-1,-22,-1,-29,-1,-35,-1,-48,-1,-47,-1,-64,-1,-60,-1,-76,-1,-75,-1,-85,-1,-86,-1,-92,-1,-96,-1,-98,-1,-103,-1,-102,-1,-104,-1,-107,-1,-102,-1,-108,-1,-99,-1,-104,-1,-97,-1,-97,-1,-89,-1,-90,-1,-79,-1,-81,-1,-68,-1,-67,-1,-58,-1,-50,-1,-46,-1,-35,-1,-30,-1,-20,-1,-13,-1,-4,-1,2,0,14,0,17,0,31,0,32,0,45,0,50,0,56,0,65,0,68,0,77,0,80,0,87,0,87,0,97,0,93,0,102,0,99,0,103,0,103,0,102,0,104,0,99,0,101,0,96,0,93,0,92,0,83,0,84,0,75,0,70,0,65,0,57,0,51,0,45,0,35,0,29,0,23,0,10,0,8,0,-4,-1,-11,-1,-18,-1,-26,-1,-35,-1,-40,-1,-50,-1,-54,-1,-62,-1,-68,-1,-74,-1,-78,-1,-85,-1,-84,-1,-95,-1,-92,-1,-99,-1,-96,-1,-103,-1,-99,-1,-101,-1,-103,-1,-95,-1,-101,-1,-93,-1,-93,-1,-88,-1,-86,-1,-77,-1,-78,-1,-67,-1,-64,-1,-59,-1,-46,-1,-49,-1,-32,-1,-32,-1,-20,-1,-14,-1,-6,-1,3,0,8,0,19,0,24,0,33,0,41,0,46,0,53,0,62,0,62,0,76,0,72,0,85,0,84,0,89,0,93,0,94,0,96,0,100,0,97,0,100,0,99,0,95,0,98,0,91,0,93,0,86,0,83,0,80,0,72,0,70,0,62,0,57,0,51,0,43,0,35,0,30,0,22,0,13,0,9,0,-5,-1,-6,-1,-18,-1,-23,-1,-33,-1,-35,-1,-50,-1,-47,-1,-62,-1,-63,-1,-69,-1,-76,-1,-78,-1,-85,-1,-86,-1,-90,-1,-94,-1,-92,-1,-99,-1,-94,-1,-99,-1,-95,-1,-96,-1,-94,-1,-91,-1,-91,-1,-82,-1,-87,-1,-72,-1,-79,-1,-61,-1,-69,-1,-50,-1,-55,-1,-39,-1,-39,-1,-27,-1,-23,-1,-14,-1,-8,-1,3,0,5,0,19,0,20,0,30,0,39,0,42,0,51,0,58,0,60,0,68,0,74,0,76,0,83,0,84,0,88,0,91,0,92,0,95,0,94,0,96,0,93,0,95,0,91,0,92,0,86,0,85,0,80,0,77,0,72,0,66,0,63,0,53,0,51,0,42,0,36,0,31,0,19,0,19,0,2,0,6,0,-12,-1,-11,-1,-25,-1,-26,-1,-38,-1,-40,-1,-50,-1,-56,-1,-58,-1,-68,-1,-70,-1,-75,-1,-80,-1,-84,-1,-84,-1,-91,-1,-89,-1,-93,-1,-91,-1,-97,-1,-88,-1,-97,-1,-86,-1,-91,-1,-86,-1,-82,-1,-80,-1,-75,-1,-70,-1,-68,-1,-58,-1,-58,-1,-45,-1,-47,-1,-32,-1,-32,-1,-21,-1,-15,-1,-9,-1,1,0,5,0,15,0,19,0,29,0,34,0,40,0,49,0,51,0,61,0,63,0,69,0,74,0,77,0,81,0,85,0,86,0,88,0,92,0,88,0,95,0,88,0,91,0,90,0,85,0,87,0,79,0,80,0,74,0,69,0,66,0,59,0,55,0,48,0,43,0,35,0,30,0,22,0,16,0,7,0,3,0,-6,-1,-13,-1,-18,-1,-30,-1,-29,-1,-43,-1,-42,-1,-56,-1,-53,-1,-66,-1,-64,-1,-74,-1,-75,-1,-78,-1,-84,-1,-83,-1}; }
	private static byte[] data20(){ return new byte[] {-88,-1,-87,-1,-90,-1,-89,-1,-90,-1,-87,-1,-89,-1,-83,-1,-86,-1,-79,-1,-76,-1,-76,-1,-65,-1,-68,-1,-57,-1,-54,-1,-48,-1,-43,-1,-33,-1,-34,-1,-17,-1,-21,-1,-5,-1,-5,-1,7,0,11,0,18,0,27,0,29,0,41,0,42,0,52,0,54,0,61,0,67,0,67,0,77,0,74,0,83,0,82,0,84,0,88,0,85,0,89,0,87,0,86,0,88,0,82,0,82,0,79,0,75,0,73,0,68,0,63,0,58,0,54,0,47,0,42,0,37,0,27,0,25,0,14,0,10,0,4,0,-6,-1,-9,-1,-19,-1,-24,-1,-29,-1,-39,-1,-41,-1,-51,-1,-51,-1,-61,-1,-63,-1,-68,-1,-73,-1,-74,-1,-80,-1,-79,-1,-85,-1,-82,-1,-88,-1,-84,-1,-86,-1,-86,-1,-82,-1,-86,-1,-76,-1,-81,-1,-72,-1,-73,-1,-65,-1,-65,-1,-55,-1,-55,-1,-46,-1,-41,-1,-37,-1,-28,-1,-24,-1,-14,-1,-14,-1,2,0,-2,-1,15,0,13,0,27,0,26,0,38,0,39,0,51,0,49,0,60,0,60,0,67,0,71,0,74,0,74,0,83,0,77,0,86,0,81,0,86,0,83,0,84,0,82,0,81,0,80,0,74,0,76,0,67,0,69,0,59,0,59,0,50,0,49,0,39,0,38,0,26,0,26,0,14,0,13,0,2,0,-2,-1,-11,-1,-14,-1,-24,-1,-26,-1,-36,-1,-39,-1,-48,-1,-48,-1,-58,-1,-58,-1,-67,-1,-67,-1,-74,-1,-72,-1,-80,-1,-76,-1,-85,-1,-79,-1,-84,-1,-82,-1,-81,-1,-83,-1,-77,-1,-81,-1,-70,-1,-77,-1,-65,-1,-68,-1,-59,-1,-57,-1,-51,-1,-46,-1,-42,-1,-34,-1,-30,-1,-23,-1,-15,-1,-13,-1,-2,-1,0,0,10,0,15,0,20,0,29,0,30,0,42,0,42,0,51,0,53,0,60,0,62,0,68,0,69,0,74,0,76,0,76,0,81,0,78,0,84,0,77,0,84,0,77,0,78,0,78,0,72,0,72,0,67,0,65,0,59,0,57,0,49,0,48,0,39,0,36,0,28,0,24,0,18,0,9,0,6,0,-2,-1,-8,-1,-13,-1,-21,-1,-27,-1,-30,-1,-40,-1,-41,-1,-49,-1,-53,-1,-57,-1,-60,-1,-67,-1,-68,-1,-72,-1,-73,-1,-76,-1,-77,-1,-80,-1,-77,-1,-81,-1,-77,-1,-80,-1,-76,-1,-74,-1,-74,-1,-68,-1,-69,-1,-61,-1,-61,-1,-53,-1,-53,-1,-43,-1,-42,-1,-33,-1,-30,-1,-24,-1,-16,-1,-13,-1,-3,-1,-1,-1,10,0,10,0,22,0,23,0,31,0,38,0,39,0,49,0,50,0,55,0,62,0,62,0,67,0,71,0,70,0,76,0,76,0,75,0,80,0,76,0,78,0,76,0,75,0,75,0,69,0,71,0,64,0,63,0,58,0,55,0,48,0,47,0,39,0,34,0,31,0,21,0,19,0,10,0,8,0,-4,-1,-1,-1,-18,-1,-14,-1,-28,-1,-26,-1,-38,-1,-38,-1,-47,-1,-49,-1,-55,-1,-57,-1,-64,-1,-63,-1,-70,-1,-69,-1,-74,-1,-72,-1,-78,-1,-73,-1,-79,-1,-73,-1,-77,-1,-72,-1,-74,-1,-69,-1,-68,-1,-65,-1,-60,-1,-59,-1,-52,-1,-51,-1,-43,-1,-41,-1,-33,-1,-29,-1,-23,-1,-20,-1,-9,-1,-9,-1,3,0,5,0,10,0,20,0,21,0,29,0,36,0,35,0,49,0,44,0,55,0,57,0,59,0,65,0,66,0,68,0,73,0,71,0,74,0,74,0,76,0,73,0,74,0,72,0,72,0,67,0,69,0,61,0,62,0,56,0,53,0,48,0,45,0,38,0,36,0,27,0,25,0,16,0,14,0,4,0,4,0,-9,-1,-7,-1,-20,-1,-19,-1,-30,-1,-31,-1,-39,-1,-41,-1,-49,-1,-49,-1,-58,-1,-57,-1,-63,-1,-65,-1,-67,-1,-69,-1,-72,-1,-71,-1,-75,-1,-70,-1,-76,-1,-69,-1,-74,-1,-69,-1,-66,-1,-68,-1,-60,-1,-62,-1,-54,-1,-53,-1,-48,-1,-43,-1,-40,-1,-32,-1,-30,-1,-23,-1,-18,-1,-13,-1,-5,-1,-4,-1,8,0,7,0,17,0,22,0,25,0,33,0,37,0,40,0,47,0,49,0,55,0,57,0,60,0,65,0,63,0,71,0,67,0,72,0,70,0,74,0,68,0,75,0,67,0,70,0,65,0,66,0,60,0,61,0,53,0,53,0,46,0,44,0,38,0,34,0,29,0,23,0,18,0,13,0,6,0,4,0,-7,-1,-6,-1,-19,-1,-16,-1,-30,-1,-27,-1,-37,-1,-40,-1,-44,-1,-49,-1,-52,-1,-56,-1,-60,-1,-61,-1,-64,-1,-68,-1,-65,-1,-73,-1,-66,-1,-73,-1,-68,-1,-72,-1,-66,-1,-69,-1,-65,-1,-62,-1,-63,-1,-55,-1,-56,-1,-51,-1,-46,-1,-44,-1,-36,-1,-35,-1,-28,-1,-24,-1,-19,-1,-10,-1,-10,-1,-1,-1,3,0,8,0,16,0,18,0,24,0,31,0,33,0}; }
	private static byte[] data21(){ return new byte[] {40,0,43,0,46,0,52,0,55,0,57,0,61,0,62,0,65,0,68,0,65,0,71,0,66,0,72,0,65,0,70,0,64,0,65,0,62,0,60,0,56,0,55,0,48,0,49,0,40,0,40,0,30,0,31,0,23,0,18,0,13,0,8,0,2,0,-1,-1,-10,-1,-12,-1,-20,-1,-22,-1,-30,-1,-32,-1,-38,-1,-42,-1,-46,-1,-49,-1,-55,-1,-53,-1,-62,-1,-60,-1,-63,-1,-66,-1,-65,-1,-67,-1,-69,-1,-65,-1,-69,-1,-65,-1,-66,-1,-61,-1,-64,-1,-56,-1,-58,-1,-52,-1,-50,-1,-45,-1,-42,-1,-38,-1,-31,-1,-31,-1,-21,-1,-20,-1,-13,-1,-8,-1,-3,-1,2,0,8,0,12,0,18,0,23,0,27,0,32,0,37,0,40,0,46,0,48,0,51,0,56,0,56,0,62,0,61,0,64,0,64,0,65,0,68,0,64,0,67,0,64,0,63,0,63,0,60,0,57,0,57,0,49,0,52,0,42,0,45,0,34,0,34,0,28,0,23,0,19,0,13,0,9,0,3,0,-2,-1,-6,-1,-13,-1,-16,-1,-22,-1,-27,-1,-30,-1,-37,-1,-38,-1,-45,-1,-46,-1,-51,-1,-53,-1,-57,-1,-58,-1,-61,-1,-62,-1,-63,-1,-65,-1,-63,-1,-68,-1,-61,-1,-67,-1,-59,-1,-64,-1,-56,-1,-61,-1,-50,-1,-55,-1,-46,-1,-44,-1,-43,-1,-34,-1,-35,-1,-27,-1,-23,-1,-19,-1,-13,-1,-10,-1,-3,-1,1,0,7,0,10,0,18,0,18,0,30,0,26,0,37,0,38,0,40,0,49,0,48,0,51,0,58,0,54,0,61,0,61,0,60,0,65,0,62,0,65,0,61,0,64,0,61,0,59,0,60,0,53,0,56,0,49,0,48,0,45,0,37,0,41,0,27,0,32,0,22,0,17,0,16,0,8,0,4,0,0,0,-7,-1,-10,-1,-15,-1,-21,-1,-24,-1,-29,-1,-34,-1,-36,-1,-43,-1,-43,-1,-49,-1,-50,-1,-55,-1,-54,-1,-60,-1,-58,-1,-61,-1,-62,-1,-62,-1,-61,-1,-64,-1,-59,-1,-62,-1,-58,-1,-57,-1,-56,-1,-50,-1,-53,-1,-44,-1,-45,-1,-40,-1,-35,-1,-33,-1,-26,-1,-25,-1,-17,-1,-15,-1,-9,-1,-4,-1,0,0,4,0,13,0,11,0,23,0,20,0,31,0,30,0,39,0,38,0,44,0,46,0,50,0,53,0,54,0,56,0,56,0,52,0,54,0,46,0,48,0,41,0,40,0,36,0,32,0,27,0,27,0,18,0,20,0,12,0,12,0,7,0,6,0,3,0,1,0}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-10.wav. */
	public Drum10(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-10.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-10.wav. */
	private class LoopThread extends Thread {
		private Drum10 clip;
		private boolean looping = true;
		public LoopThread(Drum10 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-10.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-10.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-10.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-10.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-10.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}